有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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();
    }
}

这是我在SudokuSolution之间错误地选角的结果吗


我的类路径设置为:

declare -x CLASSPATH=".:/home/jesvin/dev/drools/sudoku/binaries"

共 (0) 个答案