2013-02-04 25 views
0

我使用netbeans爲學校創建我的java項目。我不喜歡netbeans如何使用內部控制檯而不是通常的黑色CMD/Windows/Terminal控制檯,因此我決定使用批處理文件通過命令行編譯我的項目。我的批處理文件拒絕運行jar。它說主要類沒有找到。我不明白爲什麼:S運行Jar文件不起作用。找不到Main

有人可以幫助我或告訴我如何解決它?

來幫助我,我相信所需要的所有信息如下:

@echo off 

set ProjectName=WildWidgetsWarehouse.jar 
set ProjectPath=C:/Users/Brandon/Documents/NetBeansProjects/ 

set path=C:/Program Files/Java/jdk1.7.0_11/bin 


cd /d %~dp0 
ECHO. 
dir %ProjectPath%/*.java 
ECHO. 
ECHO. 

for %%* in (.) do set FolderName=%%~n* 
for %%* in (..) do set ParentDirectory=%%~dpnx* 

javac -d ../Classes *.java -cp ../Classes;std.jar 

cd %ParentDirectory%\Classes 
jar cvf %UserProfile%\Desktop\%ProjectName% %FolderName% .* 
java -cp . %UserProfile%\Desktop\%ProjectName% 

PAUSE 

當跑,它打印:

Invalid switch - "Users". 

Note: Some input files use unchecked or unsafe operations. 
Note: Recompile with -Xlint:unchecked for details. 
.* : no such file or directory 

Prints all the file it added.. It adds all my classes.. See picture below 

Error: Could not find or load main class C:\Users\Brandon\Desktop\WildWidgetsWar 
ehouse.jar 
Press any key to continue . . . 

我的Jar文件看起來像:

enter image description here enter image description here

+0

讓我們開始與Windows使用\事實並非/它的路徑分隔符 – MadProgrammer

回答

1

要運行一個jar文件,y OU需要-jar選項

java -jar xxx.jar 

man java,閱讀-jar選項的一部分。

您也可能想要將主要類信息添加到jar文件的清單中。

man jar,並查看e選項。

你煲的MANIFEST.MF應該像(例如剛)

Manifest-Version: 1.0 
Created-By: 1.6.0 (or maven, ant, blahblah) 
Main-Class: com.yourpackage.MainClass 
+0

啊的罐子和明顯的固定它。 – Brandon

相關問題