我正在构建具有以下结构的应用程序(其中myApp
是root):
myApp\bin\myApp.jar
myApp\runMyApp.bat
所以我需要包装'两个目录中的输出jar并将外部目录myApp添加到脚本文件中。
如何最好地设置POM来执行此操作?
奖金问题:我喜欢用蝙蝠制作exe的想法。目前我使用的工具。可以用Maven实现这样的事情吗?有exe比bat文件好吗? (我这样做主要是为了插入自定义图标)。
答案 0 :(得分:1)
首先,AppAssembler插件可用于为.bat
创建.jar
文件。它可能不支持您所使用的确切布局,但它应该可以自定义以获得相当接近的内容。
其次,assembly插件可以将所有这些插入其中并生成一个.zip
文件,该文件具有您想要的布局并包含您所追踪的所有文件。
要查看的其他事项是NSIS,它可以为您的应用程序创建.exe
Windows安装程序。
launch4j之类的工具可以帮助将整个应用程序整理到.exe
,但我个人无法找到一个不错的 maven way 插件。
答案 1 :(得分:1)
我使用了程序集插件来创建自定义输出目录,并发现它非常强大。您可以指定输出文件夹的存档格式(如zip等)以及需要包含在zip中的文件的相对路径。通过在下面添加到自定义程序集xml文件中,可以包含项目的依赖项 - 这将添加到pom.xml中指定的所有相关jar中
<dependencySets>
<dependencySet>
<outputDirectory>/</outputDirectory>
<useProjectArtifact>true</useProjectArtifact>
<unpack>false</unpack>
<scope>compile</scope>
<useTransitiveDependencies>false</useTransitiveDependencies>
</dependencySet>
</dependencySets>
以下是创建自定义程序集描述符的链接 - http://maven.apache.org/plugins/maven-assembly-plugin/assembly.html