server.sh给我以下错误Exception“main”java.lang.NoClassDefFoundError:

时间:2012-06-29 20:52:17

标签: java exception

我正试图从终端启动“程序D”,
终端“sh server.sh”中的命令给出了以下错误

Starting Alicebot Program D. Exception in thread "main"
java.lang.NoClassDefFoundError: org/alicebot/server/net/AliceServer
Caused by: java.lang.ClassNotFoundException:
org.alicebot.server.net.AliceServer     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:306)   at
sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)   at
java.lang.ClassLoader.loadClass(ClassLoader.java:247)

我的Server.sh文件

ALICE_HOME=.SERVLET_LIB=lib/servlet.jar
ALICE_LIB=lib/aliceserver.jar
JS_LIB=lib/js.jar

# Set SQL_LIB to the location of your database driver.
SQL_LIB=lib/mysql_comp.jar

# These are for Jetty; you will want to change these if you are using a different http         server.
    HTTP_SERVER_LIBS=lib/org.mortbay.jetty.jar:lib/javax.xml.jaxp.jar:lib/org.apache.crimson.jar

PROGRAMD_CLASSPATH=$SERVLET_LIB:$ALICE_LIB:$JS_LIB:$SQL_LIB:$HTTP_SERVER_LIBS
java -classpath $PROGRAMD_CLASSPATH -Xms64m -Xmx64m org.alicebot.server.net.AliceServer $1

1 个答案:

答案 0 :(得分:2)

这可能是问题吗?

ALICE_HOME=.SERVLET_LIB=lib/servlet.jar

我发现another question使用了类似的server.sh,其中有两行:

ALICE_HOME=.
SERVLET_LIB=lib/servlet.jar

在您的情况下SERVLET_LIB未正确设置(或根本没有设置),嵌入的等号可能会在稍后打开PROGRAMD_CLASSPATH