我的网站托管在 ubuntu 上的 Apache 上。我得到了一个 JAR 文件,里面有两个文件夹和一些 .class 和 .scc 文件。假设 jar 文件名 = myJarfile,此存档中的文件夹 = myFolder,并且此文件夹中的 Class 为 = myClass。
我被告知要像这样运行课程:
java myFolder.myClass
但我收到此错误:
$ java myFolder.myClass
Exception in thread "main" java.lang.NoClassDefFoundError: myFolder/myClass
Caused by: java.lang.ClassNotFoundException: esGateKeeper.cookieServer
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: myFolder/myClass. Program will exit.
我也试过:
$ java myJarfile.myFolder.myClass
Exception in thread "main" java.lang.NoClassDefFoundError: myJarfile/myFolder/myClass
Caused by: java.lang.ClassNotFoundException: myJarfile.myFolder.myClass
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: myJarfile.myFolder.myClass. Program will exit.
管理员告诉我这是 CLASSPATH 问题。我不知道。我的网站使用 PERL CGI,根本没有 JAVA。我不是 JAVA 程序员,谷歌搜索并没有让我知道如何运行它。
类/或 JAR 文件应该在我的本地主机上启动一个 IPC 守护程序,我将从我的 PERL CGI 与之通信,以进行身份验证。它解密我从浏览器获得的 cookie。
我不确定我需要在我的服务器上安装什么才能运行它。我有如下java:
$ java -version
java version "1.6.0_21"
Java(TM) SE Runtime Environment (build 1.6.0_21-b06)
Java HotSpot(TM) Client VM (build 17.0-b16, mixed mode, sharing)
请建议。
泰。拉杰夫
_ OK __我通过导出指向 .jar 文件的 CLASSPATH 变量解决了这个问题:
export CLASSPATH="/full/path/to/myJarfile.jar"
然后执行良好:
$ java myFolder.myClass
启动守护进程....
但老实说,我不知道这里发生了什么。这个 .jar 文件中有两个文件夹:myFolder 和一个 META-INF。myFolder 有一堆 .class 文件和一个 .scc 文件。他们都没有被命名为“主要”....
我很感激时间和帮助扩展到我。
泰。拉杰夫