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



我正在使用以下结构构建应用程序(其中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

最新更新