2012-04-17 76 views
3

問題如下: 我有一個Java應用程序打包在「.jar」文件中。從cmd啓動Java應用程序,從批處理不工作

我可以通過

  • 雙擊的jar文件啓動App(Swing應用程序)
  • 命令行java -jar MyApp.jar

然而,當我把命令行命令爲批處理文件,它會告訴me

無法訪問jarfile MyApp.jar

批處理文件與jar相同的目錄中。我也是從cmd行開始的。 我試圖用管理員權限和admin-shell調用bat - 沒有效果。

我正在使用Windows 7(64位)機器。任何提示將不勝感激。

編輯

你問它:)下面是批處理文件:

@ECHO OFF 
java -jar MyApp.jar 
@PAUSE 

EDIT 2

通過調用批處理雙擊並從CMD具有相同的效果。 更改命令爲

java -jar "C:\Full\Path\MyApp.jar" 

沒有效果。

EDIT 3

我添加SET Path=%Path%;C:\Path\To\Jar到批處理文件。沒有效果。 我也嘗試使用雙反斜槓建議克里斯的鏈接和維魯佐支持。也沒有效果。

+2

您可以發佈該批處理文件? – Sibster 2012-04-17 14:44:44

+0

你是如何調用批處理文件的? – vaughandroid 2012-04-17 14:46:15

+0

這可能是一個無知的建議,但你chmod ###相關的文件?編輯:「chmod-equivalent命令」,我今天仍在處理我的第一杯咖啡,謝謝@Viruzzo – Chris 2012-04-17 14:49:33

回答

0

我havent't又想通了,爲什麼,但現在它的工作原理:

首先是批處理文件的另一個副本,我只是改變了內容適合我的需要。

現在我將它重命名爲MyApp.bak並從頭開始編寫一個新的MyApp.bat。

只要我發現,有什麼區別,我會更新這個答案。

UPDATE

它與另一批又發生了。這一次,我們得到了原因:出於某種原因,批處理文件在複製時沒有繼承權限。在文件夾中創建一個新的文件具有正確的權限。所以,最終確實是一個權利問題。

+0

你想通了嗎? – 2012-12-13 13:48:10

+0

@Pinhassi不幸的是沒有。我想我也沒有時間進行深入調查。 – Fildor 2012-12-13 13:50:27

1

當你在bat文件雙擊,工作目錄是集到.bat文件的,但通常以類似%APPDATA%。爲了使它工作,你需要把文件的完整路徑放在蝙蝠內部(即java -jar C:\path\to\jar\MyApp.jar)。

+0

請參閱編輯2。 – Fildor 2012-04-17 14:52:46

+0

嘗試將文件移動到最簡單的目錄(即C:或其下的新目錄),然後重試。具體路徑可能存在問題。 – Viruzzo 2012-04-17 15:01:02

+0

將它移動到C:\ test \並相應地更改了命令。沒有影響:( – Fildor 2012-04-17 15:05:17

0

確保您沒有在Windows中啓用隱藏擴展選項。也許你的jar的名字以.jar.jar結尾?你確定jar的路徑是正確的嗎?

+1

這是我做的第一件事,當我拿到手時一臺新的計算機:) – Fildor 2012-04-17 15:06:14

+0

您可以嘗試在java -jar MyApp.jar命令之前添加cd C:\ path \ to \ jar。 – ppalasek 2012-04-17 15:19:43

+0

我試過這個也沒有效果。 – Fildor 2012-04-18 07:14:40

0

這不是您的具體問題的答案,但這可以讓您解決問題,所以你會找到答案。添加一個睡眠命令會讓命令提示符坐下來,所以它不會馬上關閉。

ping 1.1.1.1 -n 1 -w 10000 

(休眠10秒)

相關問題