【发布时间】:2016-01-26 21:20:38
【问题描述】:
我想做一个可以生成和编译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
系统环境对应的变化。
【问题讨论】:
标签: java classpath java-compiler-api