[英]Why can I not execute my java project from a script?
我正在一個有許多模塊 jar文件的項目中工作,其中一個關乎我的主類。 我正在嘗試編寫一個Shell腳本,該腳本將設置類路徑,然后啟動應用程序; 這是我的劇本。
#!/bin/sh
java -cp "modules/*;lib/*" com.example.Launcher
在此示例中, com.example.Launcher
是包含公共靜態void main(String [] args)...的類。
我面臨的問題是通過./myscript
執行腳本時,我得到的輸出
錯誤:找不到或加載主類com.example.Launcher
這很簡單,類路徑有問題吧?
但是如果直接從命令行執行
java -cp "modules/*;lib/*" com.example.Launcher
與腳本完全相同的命令,在腳本所在的目錄中,一切正常。
有什么想法嗎?
邊注
我正在通過CygWin運行它
另一注
CygWin中的sh可能是一個問題。 我將此構建版本復制到CentOS機器上,並嘗試執行它,更改了;
到:
允許從腳本執行。
即使進行了更改,問題仍然存在於我的窗戶機器上。
第三注
再次似乎是CygWin中的sh問題,我的最終解決方案是:
launcher.sh將在類路徑中使用:
來調用Java。
launcher.bat將使用調用Java ;
在類路徑中
在類似Unix的系統上,分隔符是:
而不是;
)。 更改
java -cp "modules/*;lib/*" com.example.Launcher
至
java -cp "modules/*:lib/*" com.example.Launcher
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.