簡體   English   中英

將bat文件轉換為包含java命令的腳本文件

[英]converting bat file to script file containing java command

我有一個Java應用程序,其中包含run.bat文件,如下所示:

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

當我在Windows中運行該run.bat時,該應用程序運行正常。 但是我想在ubuntu 12.04運行它。 所以我嘗試將run.bat轉換為run.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.

有人可以指出我做錯了嗎? 我已經檢查了classpath和class文件中指定的jar文件的classpath ,它是正確的。 其他想法可能是什么問題?

謝謝

替換以下

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並通過將/替換為來更正類前面的類包名稱.

好吧,我終於可以運行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 這樣就可以執行應用程序。

我感謝大家的回應。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM