背景 我正在构建一个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!"
问题: 我想在JAR中的META-INF / resources中打包缩小的JS文件 如何将目标文件夹中的minify-maven-plugin的输出包含到JAR中?夹。
更新 默认情况下,minify maven插件会将缩小的文件输出到目标文件夹。我可以选择设置一个特定的目录(在目标内),我希望输出在其中。插件的minify:minify目标采用可选参数'jsTargetDir'。 即使我将原始源JS设置为资源,问题仍然存在。源JS文件打包到JAR中,但不是缩小的。 maven的JAR插件和Resource插件只能识别src下的文件。由于缩小的文件不在src下,而是直接在目标下,因此mvn包似乎无法识别这些文件。
谢谢,
阿南德
答案 0 :(得分:1)
您需要设置webappTargetDir
选项,默认情况下该选项指向${project.build.directory}/${project.build.finalName}
。