すべての詳細を提供するために元の質問を編集します。
web.xml に以下を追加:
<filter>
<filter-name>WroContextFilter</filter-name>
<filter-class>ro.isdc.wro.http.WroContextFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>WroContextFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<filter-name>WebResourceOptimizer</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>wroFilter</param-value>
</init-param>
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>WebResourceOptimizer</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
WEB-INF フォルダー内に 2 つの新しいファイル wro.xml および wro.properties を作成しました。
wro.properties:
managerFactoryClassName=ro.isdc.wro.manager.factory.ConfigurableWroManagerFactory
preProcessors=less4j,cssUrlRewriting,lessCssImport
postProcessors=less4j
disableCache=true
wro.xml:
<groups xmlns="http://www.isdc.ro/wro">
<group name="base">
<css>/resources/skins/abc/testing.less</css>
</group>
</groups>
ここで「resources」は、src/main/webapp 内のフォルダーです。
ファイル testing.less が /resources/skins/abc/ フォルダー内に追加されます。
.btn-expand (@height: 30px) {
box-sizing: border-box;
height: @height;
display: inline-block;
color: #fff;
font-size: 12px;
text-decoration: none;
padding-left: 20px;
padding-right: 1px;
margin-right: 20px;
background: transparent url('images/sprites.png') no-repeat -5px -164px;
border: 0;
position: relative;
outline: none;
cursor:pointer;
overflow: visible;
}
pom.xml ファイルには、次のエントリが含まれています。
<repository>
<id>releases</id>
<name>Releases</name>
<url>https://oss.sonatype.org/content/repositories/releases</url>
</repository> (Inside <repositories> tag)
<dependency>
<groupId>ro.isdc.wro4j</groupId>
<artifactId>wro4j-core</artifactId>
<version>1.6.2</version>
</dependency> (Inside <dependencies> tag)
<plugin>
<groupId>ro.isdc.wro4j</groupId>
<artifactId>wro4j-maven-plugin</artifactId>
<version>1.7.3</version>
<configuration>
<targetGroups>base</targetGroups>
<wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
<cssDestinationFolder>${project.build.directory}/${project.build.finalName}/resources/css/test/</cssDestinationFolder>
<wroFile>${basedir}/src/main/webapp/WEB-INF/wro.xml</wroFile>
<extraConfigFile>${basedir}/src/main/webapp/WEB-INF/wro.properties</extraConfigFile>
<contextFolder>${basedir}/src/main/webapp/</contextFolder>
<ignoreMissingResources>false</ignoreMissingResources>
</configuration>
<executions>
<execution>
<goals>
<goal>run</goal>
</goals>
<phase>prepare-package</phase>
</execution>
</executions>
</plugin> [Inside <build> <plugins> tag.]
Eclipse IDE に m2e-wro4j プラグインをインストールしていません。
上記に基づいて、コマンド プロンプト [mvn clean install] から maven ビルドを実行すると、/resources/css/test/ フォルダー内に base.css という名前の css ファイルが作成されるはずです。展開されたプロジェクト WAR ファイルに新しいフォルダー「test」が表示されますが、base.css ファイルは含まれていません。コンソール出力は次のようになります。
[INFO] Wro4j Model path: C:\workspace\{projectname}\src\main\webapp\WEB-INF\wro.xml
[INFO] targetGroups: base
[INFO] minimize: true
[INFO] ignoreMissingResources: false
[INFO] parallelProcessing: false
[INFO] destinationFolder: C:\workspace\{projectname}\target
[INFO] jsDestinationFolder: null
[INFO] cssDestinationFolder: C:\workspace\{projectname}\target\{WAR file name}\resources\css\test
[INFO] groupNameMappingFile: null
[INFO] wroManagerFactory class: ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory
[INFO] The following groups will be processed: [base]
[INFO] folder: C:\workspace\{projectname}\target\{WAR file name}\resources\css\test
[INFO] processing group: base.css
[INFO] folder: C:\workspace\{projectname}\target
[INFO] processing group: base.js
もう1つの観察。wro.properties ファイルが正しく配置され、プラグインによって取得されることを確認するために、このファイルでいくつかの間違った値を試してみたところ[postProcessors=less4jtttt]
、ビルド中に例外が発生することがありました。ただし、wro.xml ファイルの無効なファイル パスは例外をスローしませんでした。