2016-07-27 70 views
0

我的shell腳本知識很少。所以我想轉換如下:將批處理文件轉換爲shell腳本(Mac上的多個jar)

@set CLASSPATH=".;.\resources\;.\lib\jboss-client.jar;.\lib\jfxtras-labs-2.2- r4.jar;.\lib\jfxrt.jar;.\lib\icecile.jar;" 

echo CLASSPATH: %CLASSPATH% 
".\jre7\bin\java" -classpath %CLASSPATH% com.ent.thing.icecile.ui.icecile 

所以這是我使用的是Mac計算機中寫道

#!/bin/sh 

export CLASSPATH=/resources:/lib/jboss-client.jar:/lib/jfxtras-labs-2-r4.jar:/lib/jfxrt.jar:/lib/icecile.jar 

echo CLASSPATH: $CLASSPATH 
"java" -classpath $CLASSPATH com.ent.thing.icecile.ui.icecile 

Im和我一直在掩飾一些文檔,但此並不想爲我跑步。任何幫助都會很棒

+0

有什麼錯誤嗎? –

+0

找不到主類。這在結構上看起來是否正確? – Joshhw

回答

2

我的第一件事情是你的腳本看錯了,你在你的類路徑中使用了絕對路徑。雖然這沒有錯,但我懷疑它是你想要的。因此,使用相對路徑(./)而不是絕對路徑(/)應該解決您的一個問題。

嘗試:

#!/bin/sh 

# You don't need to 'export' unless you want the variable to exist 
# outside of your script 
CLASSPATH=".:./resources:./lib/jboss-client.jar:./lib/jfxtras-labs-2-r4.jar:./lib/jfxrt.jar:./lib/icecile.jar" 

echo CLASSPATH:$CLASSPATH 
java -classpath $CLASSPATH com.ent.thing.icecile.ui.icecile 
+0

這爲我做了詭計。你可能會告訴我什麼回聲CLASSPATH:$ CLASSPATH實際上做了什麼?我不得不轉移這個,但我的腳本技能是初學者水平。 – Joshhw

+1

@Joshhw - 它顯示單詞CLASSPATH,後跟一個冒號,後面跟着變量$ CLASSPATH的內容。 – SomethingDark

+1

shell中的'echo'與批處理腳本中的'echo'或其他語言中的'print'類似,它主要用於程序員可以看到發生了什麼。該行基本上是說,打印出文字** CLASSPATH:**,後面是我的'CLASSPATH'變量中的值 – iamtheib

相關問題