linux是一个提供java的接口。lang.NoClassDefFoundError
我的程序编译得很好。但当我尝试运行它时,问题就开始了
jesvin@Jesvin-Technovia:~/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
在编译时被正确解析
下面是{
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>{
...
这里是App
类,它应该使用Sudoku
类的一个实例
import java.util.ArrayList;
...
import org.drools.planner.config.XmlSolverConfigurer;
...
//solution too
import org.drools.planner.core.solution.Solution;
import solution.SudokuGenerator;
import domain.Sudoku;
public class App{
public static void main(String[] args){
SudokuGenerator sg = new SudokuGenerator();
Solution sudoku = sg.createSudoku();
Solver solver = createSolver();
solver.setPlanningProblem(sudoku);
solver.solve();
Sudoku result = (Sudoku) solver.getBestSolution();
result.displaySolution();
}
private static Solver createSolver(){
XmlSolverConfigurer configurer = new XmlSolverConfigurer();
configurer.configure("solver.xml");
return configurer.buildSolver();
}
}
这是我在Sudoku
和Solution
之间错误地选角的结果吗
我的类路径设置为:
declare -x CLASSPATH=".:/home/jesvin/dev/drools/sudoku/binaries"
共 (0) 个答案