在JAR中包含minify maven插件的输出

时间:2014-01-20 05:15:33

标签: javascript maven jar resources minify

背景 我正在构建一个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包似乎无法识别这些文件。

谢谢,

阿南德

1 个答案:

答案 0 :(得分:1)

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