首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java JAR问题

Java JAR问题
EN

Stack Overflow用户
提问于 2010-08-12 04:11:50
回答 3查看 713关注 0票数 0

我的Java非常生疏,我有点头疼。

这是我的server.java:

代码语言:javascript
复制
import java.io.IOException;

import net.tootallnate.websocket.WebSocket;
import net.tootallnate.websocket.WebSocketServer;

public class server extends WebSocketServer
{
        public server(int port)
        {
                super(port, Draft.AUTO);
        }

        public void onClientOpen(WebSocket conn)
        {
                System.out.println("onopen");
                /*try
                {
                        this.sendToAll(conn+" entered the room!");
                }
                catch(IOException ex)
                {
                        ex.printStackTrace();
                }*/
        }

        public void onClientClose(WebSocket conn)
        {
                System.out.println("onclose");
        }

        public void onClientMessage(WebSocket conn,String message)
        {
                System.out.println("onmessage"+message);
        }

        public static void main(String[] args)
        {
                int port = 8000;
                try
                {
                        port=Integer.parseInt(args[0]);
                }
                catch(Exception ex)
                {
                }
                server s = new server(port);
                s.start();
                System.out.println("ChatServer started on port: "+s.getPort());
        }
}

我需要包含一个jar文件:./Java-WebSocket/dist/WebSocket.jar (可从http://github.com/TooTallNate/Java-WebSocket/获得)

它编译正常:

prompt> javac -classpath ./Java-WebSocket/dist/WebSocket.jar server.java

然而,当我去跑步的时候:

prompt> java -classpath ./Java-WebSocket/dist/WebSocket.jar server

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: server
Caused by: java.lang.ClassNotFoundException: server
 at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
 at java.security.AccessController.doPrivileged(Native Method)
 at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: server.  Program will exit.

我希望有人能帮上忙。

提前谢谢你,

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-12 04:16:06

代码语言:javascript
复制
java -classpath .:./Java-WebSocket/dist/WebSocket.jar server
                ^^

或在Windows上:

代码语言:javascript
复制
java -classpath .;./Java-WebSocket/dist/WebSocket.jar server
                ^^

类路径缺省为当前目录。你需要指向你的类和库。

票数 2
EN

Stack Overflow用户

发布于 2010-08-12 04:17:56

server不是放在包里的吗?如果是,请指定完整的类名。

例如prompt> java -classpath ./Java-WebSocket/dist/WebSocket.jar app.core.server

不过,我也会使用大写的类名。

票数 0
EN

Stack Overflow用户

发布于 2010-08-12 04:19:43

您是否尝试过使用完整的类名(your.package.server)?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3462394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档