java如何整合包
整合Java包的方法
将多个Java包整合为一个可执行的JAR文件或库,可以通过以下方式实现:
使用Maven构建工具
在Maven项目的pom.xml中配置maven-assembly-plugin插件,生成包含所有依赖的JAR文件。示例配置如下:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
运行mvn package后,会在target目录生成包含依赖的JAR文件。
使用Gradle构建工具
在Gradle项目的build.gradle中添加shadow插件,配置打包任务:
plugins {
id 'com.github.johnrengelman.shadow' version '7.1.2'
}
shadowJar {
mergeServiceFiles()
manifest {
attributes 'Main-Class': 'com.example.Main'
}
}
执行gradle shadowJar命令生成包含所有依赖的JAR文件。

手动打包JAR文件
通过JDK自带的jar命令手动打包:
jar cvfe output.jar MainClass -C classes/ .
其中classes/是编译后的.class文件目录,MainClass是主类全限定名。
使用IDE导出功能

在Eclipse或IntelliJ IDEA中:
- 右键项目选择
Export - 选择
Runnable JAR或JAR File - 指定主类和输出路径
- 选择是否打包依赖库
模块化整合(Java 9+)
对于模块化项目,在module-info.java中声明模块依赖:
module com.example.app {
requires com.example.lib1;
requires com.example.lib2;
}
使用jlink工具生成自定义运行时镜像:
jlink --module-path mods --add-modules com.example.app --output myapp
选择合适的方法取决于项目规模、构建工具和部署需求。Maven/Gradle适合自动化构建,手动打包适用于简单项目,模块化整合适合Java 9及以上版本。






