我的 Java 非常生疏,我在这里有点头疼。
这是我的 server.java:
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/ 获取)
编译成功:
提示> javac -classpath ./Java-WebSocket/dist/WebSocket.jar server.java
但是,当我去运行时:
提示> java -classpath ./Java-WebSocket/dist/WebSocket.jar 服务器
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.
希望有人能帮忙。
提前致谢,
最佳答案
java -classpath .:./Java-WebSocket/dist/WebSocket.jar server
^^
或者在 Windows 上:
java -classpath .;./Java-WebSocket/dist/WebSocket.jar server
^^
类路径默认为当前目录。您需要指向您的类以及库。
关于Java JAR 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3462394/