1

我正在尝试在纯 maven(带命令行)和 Eclipse(Juno)中使用lesscss-maven-plugin编译 LESS CSS 文件。

在lesscss-maven-plugin中,我需要定义一个输出目录,但是我注意到在Eclipse WTP中从target/m2e-wtp我的服务器(JBoss)复制文件,但是这个目录被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>

这行得通,但是有没有更好的方法来做到这一点,而无需配置文件技巧?

4

2 回答 2

1

我找到了另一个使用不同更少编译器的解决方案:wro4j。有了这个编译器,maven 和 m2e 插件都存在。此外,可以在此处找到教程(用于构建 boostrap):m2e-wro4j

于 2013-05-04T16:17:36.107 回答
0

您提供的相同解决方案,更清洁:

https://github.com/marceloverdijk/lesscss-maven-plugin/issues/8

m2e 配置文件使用 m2e 变量激活,因此您不必选择它。

于 2013-12-10T14:38:16.607 回答