使用命令行编译java
使用命令行编译 java
编译单个文件
在当前目录下的命令行输入:
1 | javac xxx.java |
编译成功,输出结果。
如果 出现“编码 GBK 的不可映射字符”的错误,原因是,系统默认的编码格式与源文件编码格式不同,编译时没有显式指定源文件编码格式的话,JDK 会把源文件从系统默认编码格式转换为 Java 默认编码格式,这样就出现乱码了。
解决命令:
1 | javac -encoding utf-8 xxx.java |
编译运行含 package 语句的类
文件如下:
1 | - Point.java |
内容:
Point.java
1 | package com.company; |
TestPoint.java
1 | package com.company; |
使用命令:
1 | javac -encoding utf-8 -d . Point.java |
参数”-d .”,表示在当前目录下生成包文件夹,并把类文件放到该文件夹下;不加-d 参数的话,在当前目录下能生成类文件,但运行时会提示找不到或无法加载类文件,原因在于,JVM 要到包文件夹下寻找类文件,而此时只在当前目录下有类文件,这样就会出错。
注意:“Error:(1, 1) java: 非法字符: ‘\ufeff’”错误解决办法
原因:
用 Windows 记事本打开并修改.java 文件保存后重新编译运行项目出现“Error:(1, 1) java: 非法字符: ‘\ufeff’”错误
原来这是因为 Windows 记事本在修改 UTF-8 文件时自作聪明地在文件开头添加 BOM 导致的,所以才会导致 IDEA 不能正确读取.java 文件从而程序出错。
解决办法
在编辑器 IDEA 中将文件编码更改为 UTF-16,再改回 UTF-8 即可,其实就相当于刷新了一下文件编码。
成功效果:
1 | 路径: .../com/company |
然后运行 TestPoint,在命令行输入命令:
1 | java com.company.TestPoint |
成功效果:
1 | point2点的当前信息是:X坐标是:0 |
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 个人学习记录!