Java:错误:无法找到或加载主类

Java:错误:无法找到或加载主类,java,classpath,Java,Classpath,我试图从可执行文件调用Java代码。我的Java代码如下: CostCalculatorType.java: public interface CostCalculatorType { public double calculateCost(double[] chromosome); } Main.java: import org.plyjy.factory.JythonObjectFactory; public class Main { public static voi

我试图从可执行文件调用Java代码。我的Java代码如下:

CostCalculatorType.java:

public interface CostCalculatorType {
    public double calculateCost(double[] chromosome);
}
Main.java:

import org.plyjy.factory.JythonObjectFactory;

public class Main {

    public static void main(String[] args) {
        double[] a = new double[]{1.3653333, 0.0000000, -1.8204444, -1.8204444}; 
double result;

        JythonObjectFactory factory = JythonObjectFactory.getInstance();
        CostCalculatorType costCalc = (CostCalculatorType)
            factory.createObject(CostCalculatorType.class, "CostCalculator");
        result = costCalc.calculateCost(a);
        System.out.println("Result = "+result);
    }
}
当我运行以下命令时,我会得到所需的输出:

javac -cp ".:/home/ch/PlyJy.jar:/home/ch/jython.jar" CostCalculatorType.java Main.java 
java -cp ".:/home/ch/PlyJy.jar:/home/ch/jython.jar" CostCalculatorType.java Main

Result = 3324.260315871956
但是,当我设置类路径并运行以下命令时,我得到了一个错误

 export CLASSPATH=/home/ch/jython.jar:$CLASSPATH
 export CLASSPATH=/home/ch/PlyJy.jar:$CLASSPATH
 javac CostCalculatorType.java Main.java 
 java Main

 Error: Could not find or load main class Main

我希望能够在不使用-cp选项的情况下实现这一点,因为我希望剥离main方法,将其移动到另一个方法,然后从另一个程序调用它。如何在不使用-cp选项的情况下获得所需的输出?

您需要将自己的源所在的目录添加到类路径中

如果那是当前目录,那么


export CLASSPATH=。:$CLASSPATH

错误提示找不到Main,Main在哪里? 它在您当前的目录中吗? 在java-cp中,您设置了“.”,但在第二种情况下没有设置 导出类路径