Bootstrap、LESS和Maven插件

Bootstrap、LESS和Maven插件,maven,twitter-bootstrap,less,maven-plugin,Maven,Twitter Bootstrap,Less,Maven Plugin,我想了解一些关于如何使用较少编译引导程序的信息。我需要用less编译引导,因为我在文件中使用less引导。现在我有了maven插件,它可以将较少的文件编译成css,但是当我试图让它编译较少的引导时,它就崩溃了。我认为这可能是一个版本问题,但我只是想知道是否有人能够解决这个问题,或者有更好的方法 pom.xml <plugin> <groupId>org.lesscss</groupId> <artifactId>lesscss

我想了解一些关于如何使用较少编译引导程序的信息。我需要用less编译引导,因为我在文件中使用less引导。现在我有了maven插件,它可以将较少的文件编译成css,但是当我试图让它编译较少的引导时,它就崩溃了。我认为这可能是一个版本问题,但我只是想知道是否有人能够解决这个问题,或者有更好的方法

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>
我不知道为什么它会在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]

您没有使用正确的插件编译代码

您正在定义:

<groupId>org.lesscss</groupId>
<artifactId>lesscss-maven-plugin</artifactId>
<version>1.3.3</version>

似乎maven插件需要更新版本的less,因为引导程序使用的功能需要更少版本1.4.0

尽管存在插件版本问题,但您可以覆盖maven插件使用的编译器

从lesscss.org下载最新的lesscsjs文件,并将其放入项目的scripts/JS文件夹中,然后将一个lessJs节点添加到插件的配置中:

<configuration>
  <lessJs>${project.basedir}/.../less.?.?.?.min.js</lessJs>
  ...
</configuration>

${project.basedir}/../less.?.min.js
...
现在,插件将使用JS文件来编译,而不是它自己的内置的、通常过时的编译器

我认为最新的JS版本现在是1.6.3

希望这有帮助


Tze

如果您使用的是最新版本的Bootstrap,那么您将需要更少的1.6.x来编译更少的文件

请看下面的文字:

对于编译器,我们已经从休息室切换到grunt contrib less,使我们能够访问更少的1.6.x(相对于使用休息室的1.3.x)

您使用的官方LessMaven插件org.lesscss:lesscss Maven插件目前只支持Less1.3,目前还没有积极维护。但我昨天向Maven Central发布了一个fork,它支持更少的1.6.1,并包含来自插件的其他开放拉取请求。 它是
de.sandroboehme.lesscss:lesscss-maven-plugin:1.6.1.1.0
from。使用它可以解决你的问题


顺便说一句:如果有人感兴趣,官方的Maven插件需要贡献者。请参阅

同时我将使用前端Maven插件。看见

您能显示错误消息和pom文件吗?添加了您在上面查找的内容。请尝试在不使用
true
的情况下运行该文件。另外还有:
警报中有什么内容。减少
,第57行?什么是
test.less
?如果不是标准的,
bootstrap.less
看起来如何?alerts.less是引导的第一个.less文件。它不应该立即编译bootstrap.less应该。test.less是一个非常小的.less文件,我只是为了确保它能够编译。是的。我删除了压缩,但它仍然无法首先运行bootstrap.less并正确编译。我也不知道less bootstrap使用的是什么版本,如果它因为版本不正确而崩溃,那就好了。
org.codehaus.mojo:lesscss-maven-plugin:1.0-beta-3  
<configuration>
  <lessJs>${project.basedir}/.../less.?.?.?.min.js</lessJs>
  ...
</configuration>