Java 关于Windows和Linux之间正则表达式的差异
以下“目标”是my build.xml的一部分。基本上,它将调用“less4j-1.7.0.jar”将“jsp/jsp_1/css/less”文件夹中以“.less”结尾的所有文件编译为“jsp/jsp_1/css/less”文件夹中的“.css”文件Java 关于Windows和Linux之间正则表达式的差异,java,linux,Java,Linux,以下“目标”是my build.xml的一部分。基本上,它将调用“less4j-1.7.0.jar”将“jsp/jsp_1/css/less”文件夹中以“.less”结尾的所有文件编译为“jsp/jsp_1/css/less”文件夹中的“.css”文件 我在想这是否与正则表达式格式有关。“*.less”表示所有文件都以“.less”结尾。在Windows中,它工作得非常好。但是为什么在Linux中运行时会出现错误呢 根据我的经验,它在Linux中应该可以正常工作。如果某个字符串包含*,并不意味着
我在想这是否与正则表达式格式有关。“*.less”表示所有文件都以“.less”结尾。在Windows中,它工作得非常好。但是为什么在Linux中运行时会出现错误呢 根据我的经验,它在Linux中应该可以正常工作。如果某个字符串包含
*
,并不意味着它是regex(我从您的问题中删除了这个标记)。它也可以是代表任何字符的路径中的通配符(在正则表达式中,您必须以*
的形式编写)。好吧……但实际上它在Linux中不起作用…@Pshemo那么我应该如何进行更改?您的Ant文件是否设置了basedir
?如果是这样,将文件夹的引用从jsp/jsp_1/…
更改为${basedir}/jsp/jsp_1/…
,是否有帮助?
<target description="Compile less to css" name="compile-less0">
<property name="lessFiles0" value="jsp/jsp_1/css/less/*.less"/>
<property name="desFolder0" value="-o jsp/jsp_1/css"/>
<exec executable="java" failonerror="true">
<arg line="-jar lib/less4j-1.7.0.jar"/>
<arg line="-m"/>
<arg line="${lessFiles0}"/>
<arg line="${desFolder0}"/>
</exec>
</target>
compile-less0:
[exec] Errors produced by compilation of jsp/jsp_1/css/less/*.less
[exec] ERROR The file jsp/jsp_1/css/less/*.less does not exists.
[exec] Could not compile the file jsp/jsp_1/css/less/*.less