我正在尝试用lesscss-maven-plugin编译LESS CSS文件,无论是在纯maven(与命令行)和Eclipse (Juno)。
在lesscss-maven-plugin中,我需要定义一个输出目录,但是我注意到在Eclipse中WTP从我的服务器(JBoss)的target/m2e-wtp
复制文件,但是Maven的war插件忽略了这个目录。
我成功地实现了Maven配置文件的目标:在Eclipse中,我使用在项目设置中配置的m2e
配置文件,因此我可以根据是否在Eclipse中构建来定义两个不同的目标文件夹。
我的pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.dgadev.motd</groupId>
<artifactId>motd</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<maven.compiler.source>7</maven.compiler.source>
<maven.compiler.target>7</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
....
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.lesscss</groupId>
<artifactId>lesscss-maven-plugin</artifactId>
<version>1.3.3</version>
<configuration>
<outputDirectory>${project.build.directory}/resources/css</outputDirectory>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>m2e</id>
<build>
<plugins>
<plugin>
<groupId>org.lesscss</groupId>
<artifactId>lesscss-maven-plugin</artifactId>
<version>1.3.3</version>
<configuration>
<outputDirectory>${project.build.directory}/m2e-wtp/web-resources/resources/css</outputDirectory>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
这是有效的,但是有没有更好的方法来做到这一点,没有配置文件的技巧?
我找到了另一个解决方案,使用不同的less编译器:wro4j。有了这个编译器,maven和m2e插件都存在。此外,可以在这里找到一个教程(用于构建引导程序):m2e-wro4j
与您提供的解决方案相同,更简洁一些:
https://github.com/marceloverdijk/lesscss-maven-plugin/issues/8m2e配置文件是用m2e变量激活的,所以您不必选择它。