2011-06-01 82 views
4

我正在學習使用Springsource Tool Suite(STS)和Spring框架進行開發。我正在嘗試用於eclipse的Amazon AWS SDK,並決定將它安裝到STS中。當我跟着創建一個新的AWS項目時,它將.java文件放在src下,而不是src/main/java,當我嘗試構建它時,它說Springsource工具中src/main/java和src有什麼區別

「沒有主」 或類似的東西。

但是,當我將AwsConsoleApp.java和AwsCredentials.properties移動到src/main/java(默認包)時,我可以將該文件作爲Java應用程序運行。

我的問題是,src/main/java - > default package和src - > main有什麼區別。我們已經附上圖片,以澄清事情:

Project_Explorer_View

回答

4

答:

在Eclipse(和STS以及)每個Java項目,具有相關的構建路徑,它被指定的,哪些文件夾中該項目包含Java類。因此,src/src/main/java之間的區別在於src/main/java被配置爲包含Java類(或Eclipse術語中的源文件夾)的文件夾,而src/文件夾僅包含源文件夾。

更多信息可在Eclipse Help中找到。

我不確定是什麼原因導致您的Java類最終出現在錯誤的文件夾中,但這意味着它們不在項目的類路徑中。因此,當您將應用程序作爲Java應用程序運行時,它會抱怨它找不到main()方法(這是任何Java應用程序的默認入口點)。

當你在src/main/java的默認包下移動你的類時,所有東西都到位:Eclipse找到你的Java類和main()方法。

+1

任何人都可以告訴我,當我們創建一個新的Maven項目時,src/main/java和src/test/java被創建。這兩者之間的基本區別是什麼。基本上,在準備webdriver自動化腳本時,我們將所有測試用例和java文件添加到src/test/java文件夾中。我們爲什麼這樣做? – 2013-09-16 14:18:45

+0

@Nilanjan這是Maven關於如何組織項目以便管理的建議。所有在生產環境中部署的或者將被其他模塊使用的東西通常放在src/main/java中。所有你爲這個模塊編寫的測試都會在src/test/java中進行。當Maven編譯時,它將文件從兩個文件夾中分離出來,並僅在必要時將它們合併。例如,如果您在另一個模塊中使用該模塊,則只會獲得src/main/java。當你運行測試時,classpath將被合併爲src/main/java和src/test/java。 – 2013-10-21 17:30:31