我正在使用maven插件minify-maven-plugin来缩小我的前端项目。当我将dos框转到前端项目并执行mvn clean install时,这很好,但是当我在反应堆项目的主pom中执行mvn clean install时,我会得到以下例外:
未能在项目my.project上执行目标com.samaxes.maven:minify-maven-plugin:1.7.4:minify (默认-minify)--前端:执行默认--目标com.samaxes.maven:minify-maven-plugin:1.7.4:minify的最小化失败: basedir ./src/main/resources/public/app/。不出
有人知道该怎么做才能让这件事成功吗?
下面是相关的插件配置:
<!-- minify plugin -->
<plugin>
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7.4</version>
<executions>
<execution>
<id>default-minify</id>
<phase>prepare-package</phase><!-- When omitted defaults to 'process-resources' -->
<configuration>
<charset>UTF-8</charset>
<skipMerge>true</skipMerge>
<nosuffix>true</nosuffix>
<closureCompilationLevel>WHITESPACE_ONLY</closureCompilationLevel>
<webappSourceDir>src/main/resources/public/app</webappSourceDir>
<webappTargetDir>${project.build.outputDirectory}/public/app</webappTargetDir>
<cssSourceDir>./</cssSourceDir>
<cssSourceIncludes>
<cssSourceInclude>**/*.css</cssSourceInclude>
</cssSourceIncludes>
<jsSourceDir>./</jsSourceDir>
<jsSourceIncludes>
<jsSourceInclude>**/*.js</jsSourceInclude>
</jsSourceIncludes>
<jsEngine>CLOSURE</jsEngine>
</configuration>
<goals>
<goal>minify</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- minify plugin end -->发布于 2016-04-02 21:14:39
我能够重现您的问题,并通过更改下面的配置条目来修复
<webappSourceDir>src/main/resources/public/app</webappSourceDir>至
<webappSourceDir>${project.basedir}/src/main/resources/public/app</webappSourceDir>也就是说,添加标准的${project.basedir}属性作为前缀。
这样,构建就成功了,不仅是模块本身,也是父模块(反应堆/聚合器构建)。
由于有了这个前缀,反应堆构建将正确地解析路径,在构建过程中指向当前的基本目录(相关模块之一)。
{project.basedir}包含pom.xml文件的目录
因此,反应器构建将替换每个模块的这个属性,指向包含模块pom.xml文件的目录(因此是模块的目录)。在直接从模块执行构建时,它也将正常工作,显然是指向当前目录。
还请注意:${basedir}也可以工作,但对project.basedir不推荐,因此使用后者更好。
发布于 2016-05-31 16:16:07
你可以把它缩小为:
<plugin>
<groupId>com.samaxes.maven</groupId>
<artifactId>minify-maven-plugin</artifactId>
<version>1.7.4</version>
<executions>
<execution>
<id>minify-css</id>
<configuration>
<charset>utf-8</charset>
<skipMerge>true</skipMerge>
<statistics>true</statistics>
<cssSourceDir>css</cssSourceDir>
<cssTargetDir>css/min</cssTargetDir>
<cssSourceIncludes>
<cssSourceInclude>*.css</cssSourceInclude>
</cssSourceIncludes>
</configuration>
<goals>
<goal>minify</goal>
</goals>
</execution>
<execution>
<id>minify-js-cfl</id>
<configuration>
<charset>utf-8</charset>
<skipMerge>true</skipMerge>
<statistics>true</statistics>
<jsSourceDir>js/xyz/modules/cfl</jsSourceDir>
<jsTargetDir>js/xyz/modules/cfl/min</jsTargetDir>
<jsSourceIncludes>
<jsSourceInclude>*.js</jsSourceInclude>
</jsSourceIncludes>
</configuration>
<goals>
<goal>minify</goal>
</goals>
</execution>
<execution>https://stackoverflow.com/questions/36339487
复制相似问题