背景:
我正在构建一个JS库,并使用maven将其打包为JAR文件。我正在使用minify maven plugin合并并缩小JS文件。

问题:
当我在Webapp软件包中将其用作WAR时,minify maven插件可以完美地工作。但是在我的情况下,如果我有JAR打包文件,则合并并缩小的JS输出不会打包到JAR文件中。我尝试显式配置要包含在构建中的资源,但这适用于src下的资源(例如src / main / resources),但不适用于目标文件夹中已经存在的资源。

这不起作用:

<resources>
    <resource>
        <directory>${basedir}/target/${project.build.finalName}/resources</directory>
        <includes>
            <include>**/*.js</include>
        </includes>
    </resource>
</resources>

我收到警告说:
"[WARNING] JAR will be empty - no content was marked for inclusion!"

问题:
我想将压缩后的JS文件打包在META-INF / resources中的JAR中
如何将目标文件夹中的minify-maven-plugin的输出包含到JAR中?夹。

更新:
默认情况下,minify maven插件会将缩小的文件输出到目标文件夹。我可以有选择地设置一个特定的目录(目标内),在该目录下我希望输出位于其中。插件的minify:minify目标采用可选参数'jsTargetDir'。
即使将原始源JS设置为资源,问题仍然存在。源JS文件被打包到JAR中,而不是缩小文件。 maven的JAR插件和Resource插件只能识别src下的文件。由于缩小的文件不在src下,而是直接在目标下,因此mvn软件包似乎无法识别这些文件。

谢谢,

阿南德

最佳答案

您需要设置选项 webappTargetDir ,默认情况下它指向${project.build.directory}/${project.build.finalName}

09-10 08:58
查看更多