javap说有一个主要的方法,java说我疯了

时间:2012-10-02 19:44:24

标签: java

我有一些来自.jar文件的类文件。我正在寻找一个使用Main方法的课程,所以我可以看到这个程序如何在没有网络行李的情况下工作。

>javap HaploGrepServer/HaploGrepMain
Compiled from "HaploGrepMain.java"
public class HaploGrepServer.HaploGrepMain extends java.lang.Object{
    public HaploGrepServer.HaploGrepMain();
    public static void main(java.lang.String[])       throws java.io.IOException;
}

大!我找到了

>java HaploGrepServer/HaploGrepMain
Exception in thread "main" java.lang.NoClassDefFoundError: org/restlet/Component
    at java.lang.ClassLoader....

好的我可以添加

>java -cp org.restlet.jar HaploGrepServer/HaploGrepMain
Exception in thread "main" java.lang.NoClassDefFoundError: HaploGrepServer/HaploGrepMain
Caused by: java.lang.ClassNotFoundException: HaploGrepServer.HaploGrepMain
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: HaploGrepServer/HaploGrepMain. Program will exit.

是什么给出的?

3 个答案:

答案 0 :(得分:1)

当您在包中调用类时,请尝试使用点来分隔包组件,而不是斜杠:

java -cp .:org.restlet.jar HaploGrepServer.HaploGrepMain

答案 1 :(得分:1)

如果HaploGrepServer在当前目录中,则需要在.的类路径中包含当前目录:

java -cp .:org.restlet.jar HaploGrepServer.HaploGrepMain

答案 2 :(得分:1)

命令:

    java HaploGrepServer.HaploGrepMain

使用默认的类路径“.”。当您提供带有以下内容的类路径时:

    java -cp restlet.jar HaploGrepServer.HaploGrepMain

现在只有 的类路径包含restlet jar。

因此,您需要类路径包含两个位置:

   java -cp restlet.jar:. HaploGrepServer.HaploGrepMain

注意:如果您使用的是Windows平台,请使用分号代替冒号。