我的網站託管在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