Maven程序集插件:构建可分发的Java SE应用程序

时间:2011-02-25 08:51:57

标签: maven-2 maven maven-assembly-plugin

我正在开发一个简单的,独立的命令行Java应用程序。该项目由Maven管理。我想构建一个可交付成果,可以在客户端的机器上复制和运行。

我正在使用maven程序集插件,所需的输出是一个包含以下内容的zip文件:

  • my_product.jar:只有我的类,没有依赖项
  • lib /:包含.jar格式的所有依赖项的lib文件夹(例如lib / log4j.jar,lib / commons-lang.jar)
  • 启动脚本文件(从项目中的某处复制)

如何在程序集描述符文件中描述它?我在将my_product.jar创建到程序集中时遇到了麻烦。

2 个答案:

答案 0 :(得分:1)

您是否看过预定义的组合jar-with-dependencies?它应该适合您的需求。

有关使用maven创建可执行JAR分发的详细讨论,请参阅this answer

答案 1 :(得分:0)

预定义的'jar-with-dependencies'程序集是一个笑话。该问题已通过外部帮助和pom.xml和程序集描述符的大量自定义解决。

看起来,如果您偏离标准的Java EE / webapp路径,那么您必须为广泛的maven定制做好准备。