如何用IntelliJ或CMD将Java项目编译为兼容Java 8的版本?
编译兼容Java 8的可执行JAR方案
一、使用IntelliJ IDEA操作步骤
1. 确认全局编译兼容配置
打开项目后,按Ctrl+Alt+Shift+S打开项目结构窗口:
- 在
Project标签页:- 确认
Project SDK已选中Java 8 - 将
Project language level设置为8 - Lambdas, type annotations etc.
- 确认
- 切换到
Modules标签页,选中你的项目模块,在Sources子标签中把Language level也改为8
2. 配置可执行JAR的Artifact
还是在项目结构窗口,切换到Artifacts标签:
- 点击左上角
+号,选择JAR > From modules with dependencies - 在弹出的配置窗口:
- 选择项目的主类(包含
public static void main(String[] args)方法的类) - 勾选
Extract to the target JAR(将依赖包合并到最终JAR,避免运行时依赖缺失) - 点击
OK保存配置
- 选择项目的主类(包含
- 确认
Output directory是你期望的JAR输出路径,然后点击Apply和OK关闭窗口
3. 编译生成JAR
- 点击顶部菜单
Build > Build Artifacts - 在弹出的列表中选中你配置的JAR项,选择
Build(或Rebuild确保全量编译) - 编译完成后,到设置的输出目录就能拿到可执行JAR
二、使用CMD命令操作步骤
假设项目结构为:src目录存放所有Java源文件,lib目录存放外部依赖(如果有),bin目录用于存放编译后的class文件。
1. 编译Java源文件
打开CMD,进入项目根目录,执行编译命令:
javac -source 1.8 -target 1.8 -d bin src/**/*.java
如果项目有外部依赖,需要添加-cp参数指定依赖路径,比如依赖lib下所有JAR:
javac -source 1.8 -target 1.8 -cp "lib/*" -d bin src/**/*.java
参数说明:
-source 1.8:指定源代码遵循Java 8语法规范-target 1.8:生成兼容Java 8的class文件-d bin:指定编译产物输出到bin目录
2. 打包成可执行JAR
- 先在
bin目录下创建manifest.mf文件,内容如下(替换为你的主类全限定名,比如com.example.MyMainClass):
Main-Class: com.example.MyMainClass Class-Path: .
- 回到项目根目录,执行打包命令:
jar cvfm my-project.jar bin/manifest.mf -C bin .
参数说明:
c:创建新的JAR文件v:打印打包过程的详细信息f:指定生成的JAR文件名m:指定使用自定义的manifest文件-C bin .:将bin目录下的所有文件添加到JAR中
内容的提问来源于stack exchange,提问作者Kleinanzeige
相关产品推荐
相关产品推荐

