JavaCompiler找不到符号

时间:2017-09-13 13:13:25

标签: javacompiler

我有类似JavaCompiler not compiling files properly的类似问题。我也得到错误错误:找不到符号但是我使用我应该实现的自己的接口。
 我的班级看起来像:

   String className = "refac.MyClass"; 
   String javaCode = "package refac;\n" +
               "import refac.IBewertungsAlgorithmus;\n" +
                  "public class MyClass implements IBewertungsAlgorithmus{\n" +
                       "    public Boolean Bewertung (int checkliste){\n" +
                        "        System.out.println(\"Hello World\");\n" +
                        "        return false;   }\n" +
                    "}\n";


我收到此编译错误:

[/refac/MyClass.java:2: error: cannot find symbol
import refac.IBewertungsAlgorithmus;
            ^
  symbol:   class IBewertungsAlgorithmus
  location: package refac, /refac/MyClass.java:3: error: cannot find symbol
public class MyClass implements IBewertungsAlgorithmus{
                                ^
  symbol: class IBewertungsAlgorithmus]


类和界面在同一个包中 - 看起来如此。

System.getProperty(“java.class.path”)返回
C:\用户\普拉斯\轴突\ NEU \ AxonIvyDesigner \ AxonIvyDesigner6.7.1.55496_Windows_x64 \插件/ org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar;

这不是项目路径。如何获得Web项目的类路径?

1 个答案:

答案 0 :(得分:0)

我找到了一种方法来创建正确的类路径,使其与运行时相同。

     ClassLoader dummyc=getClass().getClassLoader();
     URLClassLoader urlClassLoader=(URLClassLoader)dummyc;
     URL[] urls=urlClassLoader.getURLs();
     String classpath = "";
     for (URL i : urls) {
         classpath += ";" + i.getPath().substring(1);
     }
     optionList.addAll(Arrays.asList("-classpath",System.getProperty("java.class.path") 
+ classpath )) ; 

现在正确编译了类。

相关问题