簡體   English   中英

為什么我不能從腳本執行Java項目?

[英]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.

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