Я хочу сделать инструмент, который может генерировать и компилировать Java исходный код и создать банку файл из него:JavaCompiler путь к классам для Windows против Linux
Для этого я использую 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/*"
мне нужно было решение, которое может генерировать систему рабочего пути к классам самостоятельно.
UPDATE (решение):
Ok я узнал, что есть Java предлагает
File.pathseparator
Какие изменения, соответствующие среде системы.
Смотрите также File.separator or File.pathSeparator
Есть ли вероятность, что я могу создать рабочую систему СР независимо? – Gobliins
Просьба уточнить ваш вопрос. Вы хотите, чтобы вы создавали скрипт, который работает на любой платформе, и генерирует путь к классу, следуя правилам текущей платформы? – AlexR