我使用Maven yui压缩程序插件和Maven一个jar插件来创建一个容器js和css资源的jar文件。看起来,虽然,我的压缩的CSS文件总是“一个编译后面”,这意味着我必须编译应用程序两次,以接受一个CSS更改。这里是我的构建POM的部分插件Yui压缩器文件在Jar包装之前未刷新
<!-- Coffee -->
<plugin>
<groupId>com.github.iron9light</groupId>
<artifactId>coffeescript-maven-plugin</artifactId>
<version>1.1.2</version>
<configuration>
<srcDir>src/main/resources</srcDir>
<outputDir>src/main/resources</outputDir>
<bare>false</bare>
<modifiedOnly>false</modifiedOnly>
<allowedDelete>true</allowedDelete>
</configuration>
<executions>
<execution>
<id>coffeescript</id>
<phase>generate-resources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Sass -->
<plugin>
<groupId>org.jasig.maven</groupId>
<artifactId>sass-maven-plugin</artifactId>
<version>1.1.1</version>
<executions>
<execution>
<goals>
<goal>update-stylesheets</goal>
</goals>
</execution>
</executions>
<configuration>
<sassSourceDirectory>src/main/resources</sassSourceDirectory>
<destination>src/main/resources</destination>
</configuration>
</plugin>
<!-- YUI Compressor -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>compress</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<exclude>**/*.min.js</exclude>
<exclude>**/*.min.css</exclude>
</excludes>
<suffix>.min</suffix>
<outputDirectory>src/main/resources</outputDirectory>
</configuration>
</plugin>
<!-- Compiler -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.0</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<!-- Jar -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<mainClass>com.example.application.web.JettyStarter</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<!-- One Jar -->
<plugin>
<groupId>org.dstovall</groupId>
<artifactId>onejar-maven-plugin</artifactId>
<version>1.4.4</version>
<executions>
<execution>
<configuration>
<onejarVersion>0.97</onejarVersion>
<classifier>onejar</classifier>
</configuration>
<goals>
<goal>one-jar</goal>
</goals>
</execution>
</executions>
</plugin>
当我检查我的源代码树,我看到过压缩CSS是存在的,但它不是在瓶子里。我想比较一下,在单瓶包装之前将文件“冲洗”出来。有没有人见过这个?
例子:我已将此添加的style.css
.clear-both {
clear: both;
}
而在style.min.css源树
.clear-both{clear:both;}
但是,当我要求这个文件在服务器:
GET css/style.min.css
该行不存在。
难道这涉及到与资源插件插件执行的顺序:
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ MyApp ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 661 resources
[INFO]
[INFO] --- yuicompressor-maven-plugin:1.1:compress (default) @ MyApp ---
...
我已经更新了答案排序,但它可以得到改善。什么都出现在您的src/main/resources目录中?它只有.coffee脚本和saas源文件吗? – coderplus 2014-09-21 04:21:58
好的问题,是的,关键是要把他们放在流程来源阶段。我会看看project.build。目录也是如此,谢谢你的支持。 – 2014-09-21 18:21:38