如何在运行时使用javac编译器设置classpath?

时间:2017-07-25 09:34:08

标签: java

假设我需要使用另一个servlet编译运行时的Servlet文件 我想要设置servlet-api.jar的类路径以及如何做到这一点我尝试了以下方式.....

 String servletjar=sc.getRealPath("WEB-INF\\lib/servlet-api.jar; ");
 cmdArray[0] = "javac -cp "+servletjar;
 cmdArray[1] = sc.getRealPath("WEB-INF\\classes\\src\\Login.java");
 Process process1 = Runtime.getRuntime().exec(cmdArray,null);

1 个答案:

答案 0 :(得分:1)

这里有很多问题,所以时间很少。

  1. servlet-api.jar将由容器提供,而不是您提到的路径。
  2. src目录根本不在运行时,更不用说名为WEB-INF\\classes\\src的目录。
  3. 如果您有一个名为Login.java的固定文件,则无法确定为什么需要在运行时编译它。
  4. cmdArray旨在为每个元素保留一个参数。不是三合一的,而是一个在另一个元素中。