Maven - 如何构建自定义文件结构,包括输出jar

时间:2013-09-10 12:47:22

标签: maven build

我正在构建具有以下结构的应用程序(其中myApp是root):

myApp\bin\myApp.jar  
myApp\runMyApp.bat

所以我需要包装'两个目录中的输出jar并将外部目录myApp添加到脚本文件中。

如何最好地设置POM来执行此操作?

奖金问题:我喜欢用蝙蝠制作exe的想法。目前我使用的工具。可以用Maven实现这样的事情吗?有exe比bat文件好吗? (我这样做主要是为了插入自定义图标)。

2 个答案:

答案 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