Maven 组装插件:构建可分发的 Java SE 应用程序
我正在开发一个简单的、独立的命令行 Java 应用程序。该项目由 Maven 管理。我想构建一个可交付成果,可以在客户端计算机上复制并运行。
我正在使用 Maven 程序集插件,所需的输出是一个 zip 文件,其中包含:
- my_product.jar :只有我的类,没有依赖
- 项 lib/ :包含 .jar 格式的所有依赖项的 lib 文件夹(例如 lib/log4j.jar ,lib/commons-lang.jar)
- 一个入门脚本文件(从项目中的某个位置复制)
如何在程序集描述符文件中描述它?我在程序集中创建 my_product.jar 时遇到问题。
I'm developing a simple, stand-alone, command line Java application. The project is managed by Maven. I'd like to build a deliverable, which can be copied and run on the client's machine.
I'm using the maven assembly plugin, the desired output is a single zip file containing:
- my_product.jar : only my classes, without dependencies
- lib/ : a lib folder containing all the dependencies in .jar format (e.g. lib/log4j.jar, lib/commons-lang.jar)
- a starter script file (copied from somewhere in the project)
How to describe this in an assembly-descriptor file? I'm having trouble creating my_product.jar into the assembly.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否查看了
jar-with-dependencies
的预定义程序集?它应该适合您的需求。有关详细信息,请参阅此答案关于使用 Maven 创建可执行 JAR 发行版的讨论。
Did you take a look at the predefined assemby
jar-with-dependencies
? It should suit your needs.See this answer for a detailed discussion of creating executable JAR distributions with maven.
预定义的“jar-with-dependencies”程序集是一个笑话。该问题已通过外部协助以及 pom.xml 和程序集描述符的大量定制得到解决。
看来,如果您偏离标准 Java EE/webapp 路径而转向独立应用程序,那么您必须为广泛的 Maven 自定义做好准备。
The predefined 'jar-with-dependencies' assembly is a joke. The problem had been solved by external assistance and heavy customization of the pom.xml and assembly descriptor.
It seems if you diverge from the standard Java EE/webapp path towards the standalone applications then you have to prepare for extensive maven customizations.