2014-09-25 118 views
0

我想設置一個cron作業我的Java代碼運行的Java代碼,我曾經嘗試這樣做,從項目目錄如何從shell腳本在Linux上

java -classpath .:/home/project/lib/* pkg_name.my_code 

並能正常工作,但我不知道如何從任何其他目錄[像腳本] 我試圖在類路徑中添加diroctry(其編譯的類)這樣

java -classpath .:/home/project/lib/*;/home/project/pkg_name/* pkg_name.my_code 

運行它也試圖

java -classpath ".:/home/project/lib/*;/home/project/pkg_name/*" pkg_name.my_code 

,但它給錯誤:

**錯誤:無法找到或加載主類pkg_name.my_code **

可以在任何幫幫我嗎?

+0

你有一個jar文件?一個類文件?或者'.java'文件? – Kent 2014-09-25 14:51:59

+1

嘗試刪除通配符。只需將包含軟件包的目錄名稱或jar的全名(目錄+文件名)即可。例如:'-classpath/home/project:/home/project/lib/someJar.jar:/home/project/lib/ someOtherJar.jar' – Benjamin 2014-09-25 14:52:12

+0

在lib中我有jars,並且在pakg_name類下(編譯成一個)文件,它我想運行 – 2014-09-25 14:53:08

回答

1

如果您想從另一個目錄運行您的項目,那麼您需要將您的項目包含在classpath中。所以,你可以做到這一點

java -classpath ".:/home/project/lib/*:/home/project" pkg_name.my_code 

例如:

java -classpath ".:/home/test/runjavafromanotherdirectory/lib/*:./runjavafromanotherdirectory" com.test.Main 

你的一個錯誤是你正在使用;代替:

+0

it works thanks :) – 2014-09-26 06:58:25