繁体   English   中英

Windows和Linux的JavaCompiler类路径

[英]JavaCompiler classpath Windows vs Linux

我想制作一个可以生成和编译Java源代码并从中生成jar文件的工具:

为此,我使用JavaCompiler:

JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();

当我将类路径添加到Java SystemCompiler时:

optionList.addAll(Arrays.asList("-cp", classpath));

当我使用“;”设置类路径时,它适用于Windows 作为分隔符:

classpath = "jar1.jar;jar2.jar;dir/jar3.jar;dir/jar4.jar";

在Linux中,它失败。

当我用空间代替; 喜欢:

classpath = "jar1.jar jar2.jar lib/jar3.jar lib/jar4.jar";

对于两个系统都失败。

同样适用于:

classpath = "lib/*"

我需要一个可以独立生成工作类路径系统的解决方案。

更新(解决方案):

好的,我发现有一个Java报价

File.pathseparator 

哪些更改对应于系统环境。

另请参见File.separator或File.pathSeparator

在Linux上,您应该使用:

CLASSPATH =路径1:路径2:...

Oracle文档:

的Linux

视窗

在Linux上使用:而不是; 您经常在Windows上使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM