String CompilePath = "abc.java";
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
String classpath = System.getProperty("java.class.path");
System.setProperty("java.class.path", classpath + ";" + LocalMachine.home + "WebContent/WEB-INF/lib");
int result = compiler.run(null, null, null, CompilePath);
Приведенное выше работает нормально при выполнении в виде теста JUnit, поскольку все jars
требуются для компиляции файла abc.java
.Но когда тот же код запускается как сервер, он не может найти требуемые jar
файлы.Вывод System.getProperty("java.class.path")
равен E:\apache-tomcat-7.0.4\bin\bootstrap.jar;E:\apache-tomcat-7.0.4\bin\tomcat-juli.jar;C:\Program Files\Java\jdk1.6.0_21\lib\tools.jar
Итак, мой вопрос: как заставить компилятор ссылаться на файлы jar из каталога WEB-INF / lib?