【发布时间】:2017-09-19 05:55:43
【问题描述】:
在这个简单的场景中我遇到了奇怪的问题。
我有一个包含以下类的 jar 文件:
package com.example;
public class Test{
public void perform(){
System.out.println("Performing testing one");
}
}
我创建了一个 Main 类来调用 perform 方法,如下所示:
import com.example.Test;
public class Main{
public static void main(String[] args) {
Test test=new Test();
test.perform();
}
}
我已将 jar 和 Main.java 文件放在同一个文件夹中,并使用以下命令成功编译了 Main.java 文件:
javac -cp ".\*" Main.java
但是当我尝试使用以下命令运行 Main 类时:
java -cp ".\*" 主要
它给出以下错误:
错误:无法找到或加载主类 Main
如果我尝试在没有 -cp 参数的情况下运行 Main 类,则会出现以下错误:
线程“主”java.lang.NoClassDefFoundError 中的异常: com/example/测试 在 Main.main(Main.java:5) 引起:java.lang.ClassNotFoundException: com.example.Test 在 java.net.URLClassLoader.findClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) 在 sun.misc.Launcher$AppClassLoader.loadClass(未知来源) 在 java.lang.ClassLoader.loadClass(未知来源) ... 1 更多
语法是正确的,那么我在这里做错了什么......?
【问题讨论】: