繁体   English   中英

Java命令类路径问题

[英]java command classpath issue

在这种简单情况下,我遇到了一个奇怪的问题。

我有一个包含以下类的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 class,则会出现以下错误:

线程“主”中的异常java.lang.NoClassDefFoundError:com / example / Test在Main.main(Main.java:5)引起原因:java.lang.ClassNotFoundException:com.example.Test在java.net.URLClassLoader.findClass (Unknown Source)at java.lang.ClassLoader.loadClass(Unknown Source)at sun.misc.Launcher $ AppClassLoader.loadClass(Unknown Source)at java.lang.ClassLoader.loadClass(Unknown Source)...还有1

语法正确,那么我在这里做错了什么...?

使用-cp时,需要一个一个地指定jar名称。 使用*通常不会向类路径添加任何内容。 祝好运!

一切都错了。

  • 源代码应位于名为com/example的目录中。
  • 您应该位于包含com的目录中。
  • 编译器命令是

     javac com/example/Main.java 
  • 执行命令是

     java com.example.Main 

您不需要只包含一个类的JAR文件。

经过大量的实验和网上搜索,我终于发现我们需要把; 经过classpath使它工作。 因此,以下命令会运行Main类:

java -cp“。\\ *”; 主要

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM