我正在使用以下结构构建应用程序(其中myApp
是根):
myAppbinmyApp.jar
myApprunMyApp.bat
所以我需要将输出 jar "包装"在两个目录中,并将脚本文件添加到外部目录 myApp。
如何最好地设置 POM 来执行此操作?
奖励问题:我喜欢用蝙蝠制作exe的想法。目前我使用一个工具。Maven可以做到这一点吗?拥有 exe 比只有蝙蝠文件更好吗?(我这样做主要是为了插入自定义图标)。
首先,AppAssembler 插件可用于为您的.jar
创建.bat
文件。它可能不支持您所追求的确切布局,但它应该是可定制的,以获得相当接近的东西。
其次,汇编插件可以啜饮所有这些内容,并生成一个具有您想要的布局并包含您想要的所有文件的.zip
文件。
其他需要研究的事情是NSIS,它可以为您的应用程序创建.exe
Windows安装程序。
launch4j 等工具可以帮助您将整个应用程序包装在一个.exe
尽管我个人找不到一个不错的 maven 方式插件。
我使用汇编插件创建自定义输出目录,并发现它非常强大。您可以指定输出文件夹的存档格式,如zip等,也可以指定需要包含在zip中的文件的相对路径。通过将下面的依赖项添加到自定义程序集 xml 文件中来包含项目的依赖项 - 这将添加到 pom 中指定的所有依赖 jar 中.xml
<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