我正在寻找一些有关如何使用Maven plugin编译Bootstrap的信息。我需要用少量编译bootstrap因为我在我的文件中使用较少的bootstrap。现在我有maven插件将更少的文件编译成css,但是当我尝试将它编译为bootstrap时它会中断。我认为这可能是一个版本问题,但只是想知道是否有人能够解决这个问题或者有更好的方法。
的pom.xml
<plugin>
<groupId>org.lesscss</groupId>
<artifactId>lesscss-maven-plugin</artifactId>
<version>1.3.3</version>
<configuration>
<sourceDirectory>${project.basedir}/src/main/webapp/less</sourceDirectory>
<outputDirectory>${project.build.directory}/${project.build.finalName}/css</outputDirectory>
<compress>true</compress>
<includes>
<include>bootstrap/bootstrap.less</include>
<include>test.less</include>
</includes>
<force>true</force>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
</plugin>
我在运行配置中运行上面的命令,调用“clean lesscss:compile”
错误
Failed to execute goal org.codehaus.mojo:lesscss-maven-plugin:1.0-beta-3:compile (default-cli) on project FastTest: Error while compiling LESS source: bootstrap\alerts.less: Syntax Error on line 57: [object Object] (compile.js#1) -> [Help 1]
我不确定为什么它会在bootstrap列表中的第一项之后发生,所以我重命名为bootstrap.less以查看它是否运行,这就是我得到的:
Failed to execute goal org.codehaus.mojo:lesscss-maven-plugin:1.0-beta-3:compile (default-cli) on project FastTest: Error while compiling LESS source: bootstrap\abootstrap.less: Syntax Error on line 686: [object Object] (compile.js#1) -> [Help 1]
答案 0 :(得分:2)
您没有使用正确的插件编译代码。
您正在定义:
<groupId>org.lesscss</groupId>
<artifactId>lesscss-maven-plugin</artifactId>
<version>1.3.3</version>
但是从输出中可以看出,触发了一个不同的插件:
org.codehaus.mojo:lesscss-maven-plugin:1.0-beta-3
答案 1 :(得分:2)
似乎maven插件需要更新版本的更少版本,因为bootstrap使用的版本需要更少版本1.4.0
答案 2 :(得分:2)
尽管你的插件版本问题,你可以覆盖Maven插件使用的编译器......
从lesscss.org下载最新的lesscss JS文件,并将其放入项目的scripts / js文件夹中,然后在插件的配置中添加lessJs节点:
<configuration>
<lessJs>${project.basedir}/.../less.?.?.?.min.js</lessJs>
...
</configuration>
现在,插件将使用JS文件进行编译,而不是使用自己内置的,经常过时的编译器。
我认为最新的JS版本现在是1.6.3。
希望这有帮助!
慈
答案 3 :(得分:2)
如果您使用的是最新版本的Bootstrap,则需要更少的1.6.x才能编译Less文件。
请参阅http://blog.getbootstrap.com/2014/01/30/bootstrap-3-1-0-released/写道:
我们已经从Recess切换到grunt-contrib-less用于我们的编译器,使我们可以访问Less 1.6.x(而不是1.3.x with Recess)。
您使用的官方Less Maven插件org.lesscss:lesscss-maven-plugin目前仅支持Less 1.3并且目前尚未主动维护。但我昨天向Maven Central发布了一个支持Less 1.6.1的分支,并包含来自插件的其他开放拉取请求。
来自https://github.com/sandroboehme/lesscss-java的de.sandroboehme.lesscss:lesscss-maven-plugin:1.6.1.1.0
。使用它可以解决您的问题。
答案 4 :(得分:0)
同时我会使用Frontend Maven插件。看到 https://github.com/eirslett/frontend-maven-plugin