Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 关于Windows和Linux之间正则表达式的差异_Java_Linux - Fatal编程技术网

Java 关于Windows和Linux之间正则表达式的差异

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中应该可以正常工作。如果某个字符串包含*,并不意味着

以下“目标”是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中应该可以正常工作。如果某个字符串包含
*
,并不意味着它是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