如何在Eclipse中导出含全部外部库与Maven依赖的Java Maven项目
在Eclipse中导出包含所有Maven依赖的Java项目
方法一:用Maven Assembly插件(最可靠)
这是Maven项目打包带依赖的标准方式,能确保所有外部库和Maven依赖都被打包进去:
- 打开项目的
pom.xml,在<build>标签内的<plugins>节点中添加以下插件配置:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>3.6.0</version> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <!-- 如果是可运行项目,替换成你的主类路径 --> <archive> <manifest> <mainClass>com.yourpackage.YourMainClass</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin>
- 右键项目 → Run As → Maven build...,在弹出的窗口中,Goals输入框填写
clean package assembly:single,点击Run执行打包。 - 打包完成后,去项目的
target目录下找带-with-dependencies后缀的JAR文件,这个就是包含所有依赖的完整包。接收方直接用Java命令运行,或者在Eclipse中作为外部库导入即可。
方法二:用Eclipse自带导出功能(适合快速操作)
如果不想修改pom.xml,可以用Eclipse的导出工具,但要注意选对选项避免丢失依赖:
针对可运行项目:
- 右键项目 → Export → Java → Runnable JAR file
- 在弹出的窗口中,选择正确的启动配置(对应你的主类),然后在Library handling里选Package required libraries into generated JAR,指定输出路径后点击Finish。
针对普通非运行项目:
- 右键项目 → Export → Java → JAR file
- 在导出设置中,勾选Export all output folders for checked projects,切换到Libraries标签,勾选Add directory entries和Export Java source files and resources,确保所有依赖库都被包含。
- 完成导出后,接收方可以将这个JAR导入到自己的项目中作为依赖使用。
解决你之前归档导出失败的问题
你之前用归档文件导出丢失依赖和类,大概率是没勾选正确的导出选项:
- 归档导出时,要确保选中项目所有的源码目录、输出目录,以及依赖库的引用路径;
- 优先推荐用Maven插件的方式,因为它会自动处理所有Maven依赖的打包,不会遗漏。
内容的提问来源于stack exchange,提问作者newbieprogammer
相关产品推荐
相关产品推荐

