2014-12-03 29 views
0

最初運行的時候,我能夠運行命令行我的代碼,例如:錯誤:無法找到或加載主類主 - 從Linux命令行

java -cp "/var/www/html/tcqa/bin/test_and_control-1.0-SNAPSHOT.jar:/var/www/html/tcqa/bin/postgresql-9.3-1100-jdbc41.jar" Main /var/www/html/tcqa/sql/tc.sql 

我需要添加一些新的功能和決定打破主要類和用例來管理將運行哪個sql語句。我把我的主類移出來,一直沒能讓我的代碼從命令行運行。我的新的命令行看起來是這樣的:

java -cp ["/home2/smontoya/test_and_control-1.0-SNAPSHOT.jar:/var/www/html/tcqa/bin/postgresql-9.3-1100-jdbc41.jar;"] Main email /var/www/html/tcqa/sql/email.sql 

顯然,我想遷移到生產模式前進行測試。 我的代碼結構如下:

main 
|-->java 
    |--> email 
    | |__ EmailFlag 
    | |__ EmailRow 
    |--> tc 
    | |__ Analytics 
    | |__ Row 
    | |__ TestAndControl 
    | |__ Utils 
    |--> Main 
+0

帖子你得到的錯誤 – 2014-12-03 16:42:25

+0

我找到了解決方案。問題是兩個jar文件不在同一個位置。一個位於我的bin目錄中,另一個位於另一個完全不同的位置(目錄結構)。兩個jar文件在同一個目錄後,主錯誤消失... – smontoya 2014-12-08 14:22:49

回答

1

請檢查您的清單文件中的罐子。它描述了版本和mainClass。 如果您正在使用maven。雖然添加依賴建立罐子描述配置中的主類,以行家將增加這個配置清單文件

+0

也正如stackdev提到的,你可以給主類namw打包爲類路徑 – 2014-12-04 00:03:59

+0

問題原來是這兩個文件不在相同的目錄位置。將兩個文件放在同一目錄位置後,所有工作都正常。 – smontoya 2014-12-08 14:24:30

+0

很好,很高興聽到.. Plz標記問題完整 – 2014-12-09 16:56:48

0

嘗試指定主的全名:

java -cp /path1:/path2 com.company.Main arg1 arg2 
相關問題