我正在尝试通过命令提示符在 java 中运行一个简单的代码。 我有一个包含以下内容的 jar.java 文件:
public class jar{
public void print()
{
System.out.println("Jar success accesing !");
}}
而且我还有一个 main.java 调用 use jar 类:
public class main{
public static void main (String args[]){
jar jar1 = new jar();
jar1.print();
}}
我只是尝试编译 jar.java ,然后将其制作为 jar 存档,然后使用此 jar 编译主类,如下所示:
>javac jar.java
>jar cvf JAR.jar jar.class
>javac -cp JAR.jar main.java
现在,直到这里一切正常,当我想运行 main 时它不起作用:
>java -cp JAR.jar main
我明白了:
Error: Could not find or load main class main.class
Caused by: java.lang.ClassNotFoundException: main.class
我哪里错了?
最佳答案
答案是:
java main
您不需要-cp,因为您将所有文件放在同一个文件夹中。 您的代码不起作用,因为您覆盖了 -cp (当前目录)的默认值。您的 -cp 仅指向 JAR.jar。
类似的解决方案:
java -cp 'main.class;JAR.jar' main
java -cp '.;JAR.jar' main
关于java - 使用jar中的类路径类使用javac和java编译并运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50806379/