我可以使用less4j在ANT中编译更少的css吗?

时间:2014-07-10 18:44:54

标签: java css ant less

我想知道是否有人可以给我一个演示。当我在标签中使用less4j时,我应该放入什么?我在网上搜索了很长时间,但似乎根本没有关于在ANT中使用less4j的信息。

但是因为less4j可以在命令行中实现,所以它必须可以在ANT中实现。请帮帮我,谢谢!

1 个答案:

答案 0 :(得分:0)

<?xml version="1.0" encoding="UTF-8"?>
<project name="compile" default="css.concatenate" basedir=".">
<property name="charset" value="utf-8"/>


<macrodef name="less4j">
                <attribute name="src" />
                <attribute name="css" />
                <sequential>
         <java dir="${basedir}/lib/com/github/sommeri/less4j/commandline" classname="CommandLine" fork="false">
                                <classpath>
                                        <pathelement location="${basedir}/lib/less4j.jar" />
                                        <pathelement location="${basedir}/lib/jcommander.jar" />
                                        <pathelement location="${basedir}/lib/antlr-runtime.jar" />
                                        <pathelement location="${basedir}/lib/commons-io.jar" />
                                        <pathelement location="${basedir}/lib/commons-beanutils.jar" />
                                        <pathelement location="${basedir}/lib/commons-logging.jar" />
                                </classpath>
                                <arg value="@{src}" />
                                <arg value="@{css}" />
                        </java>
                </sequential>
        </macrodef>

<!-- compile LESS -->

<target name="css.concatenate">
    <concat destfile="${basedir}/src/main/webapp/cons/cons.less">
        <fileset dir="${basedir}/src/main/webapp/less">
            <include name="*.less"/>
        </fileset>
    </concat>
    <echo>cons is done!</echo>
</target>



<target name="css" depends="css.concatenate" description="Create CSS">
                <mkdir dir="${basedir}/tryGotCSS" />
                <less4j
                        src="${basedir}/src/main/webapp/cons/cons.less"
                        css="${basedir}/src/main/webapp/css/trycore.css" />

        </target>


<target name="trasition" >
            <echo> in trasition </echo>

</target>

<!-- precompile handlebars -->

    <!-- -->



</project>

我试图运行这个脚本,但是构建将失败,因为它无法找到类“Commandline”(具有main方法),但是当我检查less4j的源代码时,我很漂亮确保Commandline类位于$ {basedir} / lib / com / github / sommeri / less4j / commandline“classname =”CommandLine下。