我的网站托管在Ubuntu上的Apache上。我得到了一个JAR文件,里面有两个文件夹和一些.class和.scc文件。让我们说jar文件名= myJarfile,这个档案里面的文件夹= myFolder,并且这个文件夹里面的Class = myClass。在哪里把jar文件放在apache中?以及如何从Perl访问它?
我被告知要运行的类是这样的:
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)
PI建议。
ty。 拉杰夫
_ OK __我通过导出CLASSPATH变量指向.jar文件解决了这个:
export CLASSPATH="/full/path/to/myJarfile.jar"
然后执行罚款:
$ java myFolder.myClass
启动守护程序。 ...
但说实话,我不知道我是什么在这里继续。这个.jar文件有两个文件夹:myFolder和一个META-INF。 myFolder有一堆.class文件和一个.scc文件。没有一个被命名为“主”....
我很感激时间和帮助扩展到我。
ty。 Rajeev
的Tx。我读了这个线程。我不确定:classpath变量在哪里?我如何设置它?我需要在Apache中做什么(如果我必须在Apache配置中执行任何操作)才能在每次启动Web服务器时运行此操作?从PERL访问实际上不是问题。当我试图罐子开关,我得到如下:'$ Java的罐子myJarFile.jar中 无法加载从 myJarfile.jar' – rajeev 2012-08-07 17:01:36
我已经更新了我的回答更多的细节主类清单属性。 – 2012-08-07 17:29:42
该链接是有帮助的。 TY。 – rajeev 2012-08-07 17:58:38