我的程序编译得很好。但是当我尝试运行它时,问题就开始了。给我一个接口java.lang.NoClassDefFoundError
[email protected]:~/dev/drools/sudoku$ java App
Exception in thread "main" java.lang.NoClassDefFoundError: org/drools/planner/core/solution/Solution
Caused by: java.lang.ClassNotFoundException: org.drools.planner.core.solution.Solution
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: App. Program will exit.
我知道接口Solution
在编译时正确解析。
这里是违规类Sudoku
是implements Solution
:
package domain;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.drools.planner.api.domain.solution.PlanningEntityCollectionProperty;
import org.drools.planner.core.solution.Solution;
import org.drools.planner.core.score.SimpleScore;
public class Sudoku implements Solution<SimpleScore>{
...
这里是应该使用Sudoku
类
的一个实例,它是我的结果App
类错误地在Sudoku
和Solution
之间进行投射?
declare -x CLASSPATH=".:/home/jesvin/dev/drools/sudoku/binaries"
对!我使用'dir/*'功能导入所有jar文件,如'declare -x CLASSPATH =“。:/ home/jesvin/dev/drools/sudoku/binaries/*”'。编译器的类路径被硬编码到一个自定义命令中,并且我不小心将环境变量留在了错误的位置。 – aitchnyu 2012-01-27 07:25:07
你也是Keralite吗? – aitchnyu 2012-01-27 07:25:27