Java: Error: Could not find or load main class
Java: Error: Could not find or load main class
我正在尝试从可执行文件中调用 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 中,您设置了“.”但不是在第二种情况下你
导出类路径。
我正在尝试从可执行文件中调用 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 中,您设置了“.”但不是在第二种情况下你 导出类路径。