我有类似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项目的类路径?
答案 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 )) ;
现在正确编译了类。