在 Ubuntu 上,使用 Java 编译源代码后,可以使用 jar 命令将编译后的 .class 文件打包成 .jar 文件。以下是详细步骤:
1. 编译 Java 源代码
首先,确保你已经安装了 Java Development Kit (JDK)。你可以使用以下命令检查是否已安装:
java -version
javac -version
如果尚未安装,可以使用以下命令安装 OpenJDK:
sudo apt update
sudo apt install openjdk-17-jdk
假设你的 Java 源代码位于 src 目录下,并且你希望将编译后的类文件输出到 bin 目录:
mkdir -p bin
javac -d bin src/*.java
这会将所有 .class 文件编译并放置在 bin 目录中。
2. 创建清单文件(可选)
如果你希望生成的 .jar 文件可以指定主类(即包含 main 方法的类),需要创建一个清单文件(MANIFEST.MF)。例如,假设你的主类是 com.example.Main,可以按照以下步骤操作:
-
创建一个文本文件
manifest.txt:nano manifest.txt -
在文件中添加以下内容,并替换
com.example.Main为你的实际主类:Main-Class: com.example.Main保存并退出编辑器(在
nano中按Ctrl + O保存,Ctrl + X退出)。
3. 打包成 JAR 文件
使用 jar 命令将编译后的类文件和清单文件打包成 .jar 文件。
方法一:不使用清单文件
如果你不需要指定主类,可以直接打包:
jar cf myapp.jar -C bin .
这会将 bin 目录下的所有内容打包到 myapp.jar 中。
方法二:使用清单文件
如果需要指定主类,可以使用以下命令:
jar cfm myapp.jar manifest.txt -C bin .
c:创建新的归档文件。f:指定归档文件名。m:包含指定的清单文件。-C bin .:切换到bin目录,并将当前目录(即bin)的内容添加到归档中。
4. 运行 JAR 文件
打包完成后,可以使用以下命令运行 .jar 文件:
java -jar myapp.jar
示例总结
假设你的项目结构如下:
project/
├── src/
│ └── com/example/Main.java
└── bin/
步骤:
-
编译:
mkdir -p bin javac -d bin src/com/example/Main.java -
创建清单文件
manifest.txt:Main-Class: com.example.Main -
打包:
jar cfm myapp.jar manifest.txt -C bin . -
运行:
java -jar myapp.jar
额外提示
-
依赖管理:如果你的项目依赖于外部库,打包成可执行的 JAR(即包含所有依赖的“胖 JAR”)会更加方便。可以使用构建工具如 Maven 或 Gradle 来自动化这一过程。
-
使用构建工具:对于复杂的项目,建议使用 Maven 或 Gradle 来管理依赖、编译和打包过程。这些工具提供了更强大的功能和更好的可维护性。
使用 Maven 打包 JAR 示例
如果你选择使用 Maven,以下是基本步骤:
-
安装 Maven:
sudo apt install maven -
创建 Maven 项目结构:
project/ ├── pom.xml └── src/ └── main/ └── java/ └── com/example/Main.java -
编写
pom.xml:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0modelVersion> <groupId>com.examplegroupId> <artifactId>myappartifactId> <version>1.0-SNAPSHOTversion> <build> <plugins> <plugin> <groupId>org.apache.maven.pluginsgroupId> <artifactId>maven-jar-pluginartifactId> <version>3.2.0version> <configuration> <archive> <manifest> <mainClass>com.example.MainmainClass> manifest> archive> configuration> plugin> plugins> build> project> -
编译并打包:
cd project mvn clean package打包完成后,生成的 JAR 文件位于
target/目录下。
使用 Maven 或 Gradle 可以大大简化项目的构建和管理过程,特别是当项目规模增大或依赖增多时。
以上就是关于“Ubuntu Java编译后如何打包成jar文件”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm