0

以下のようなrun.batファイルを含むJavaアプリケーションがあります。

rem set path=D:/Applns/jdk1.5/bin
set classpath=.;lib/derby.jar;lib/mail.jar;lib/activation.jar;lib/commons-codec-1.3.jar
start javaw net.sf.veettukaaran.appclient.ApplicationController

これrun.batをWindowsで実行すると、アプリケーションは正常に動作します。しかし、私はこれをで実行したいと思いubuntu 12.04ます。だから私は以下のように変換しようとしましrun.batrun.sh

# /bin/sh
java -classpath './lib/derby.jar:lib/mail.jar:lib/activation.jar:lib/commons-codec-1.3.jar' net/sf/veettukaaran/appclient/ApplicationController

このスクリプトを実行する./run.shと、次のようなクラスが見つからないという例外が発生します。

Caused by: java.lang.ClassNotFoundException: net.sf.veettukaaran.appclient.ApplicationController
    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)
Could not find the main class: net/sf/veettukaaran/appclient/ApplicationControll.  Program will exit.

誰かが私が間違っていることを指摘できますか?指定されたjarファイルclasspathとクラスファイルのパスを確認しましたが、正しいです。何が間違っているのか他のアイデアはありますか?

ありがとう

4

2 に答える 2

0

次のものを置き換えます

java -classpath './lib/derby.jar:lib/mail.jar:lib/activation.jar:lib/commons-codec-1.3.jar' net/sf/veettukaaran/appclient/ApplicationController

java -classpath '.:./lib/derby.jar:lib/mail.jar:lib/activation.jar:lib/commons-codec-1.3.jar' net.sf.veettukaaran.appclient.ApplicationController

現在のディレクトリ.をあなたに追加classpathし、クラスの前にあるクラスパッケージ名を次のように置き換え/て修正したことに注意してください。.

于 2012-09-02T12:02:02.047 に答える
0

さて、私はついにrun.shファイルを実行することができました。以下のようになります。

# /bin/sh
java -cp ':./lib/derby.jar:./lib/mail.jar:./lib/activation.jar:./lib/commons-codec-1.3.jar' net.sf.veettukaaran.appclient.ApplicationController

その後、次のコマンドを実行します:" dos2unix run.sh"そして実行し./run.shます。このようにして、アプリケーションが実行されます。

私はあなたの応答のためにあなた全員に感謝します。

于 2012-09-02T12:24:47.443 に答える