2012-01-13 61 views
1

我已經在這裏閱讀了一些關於這方面的問題,但是我的答案並未取得成功。這裏的問題是:
Eclipse混淆軟件包成爲一個文件夾

  • 套餐:com.me.a
    • 文件夾(以上包下):B
      • Java類(在上述文件夾):Myclass.java

正確封裝結構是com.me.ab,但電化學發光免疫法pse認爲'b'是一個文件夾。當我右鍵點擊b並轉到build-source時,有一個選項顯示「用作源文件夾」,然後執行一些完全不需要的操作 - 創建一個包含整個程序包路徑的單獨文件夾作爲源文件夾,並使用默認包:

  • 文件夾:com.me.ab
    • 套餐:默認包
      • MyClass.java

我該如何解決這個煩人的問題? PS:我無法使用圖像來給出一個更好的主意,但在這裏是新的,有一個限制。

+0

在Myclass.java的源代碼中包含com.me.a.b? – Danny 2012-01-13 20:17:35

+0

包含「com」的文件夾是否已被設置爲源文件夾? – BenjaminLinus 2012-01-13 20:23:01

+0

Danny - 是的,Myclass.java的包聲明爲com.me.a.b – SoltanG 2012-01-13 22:46:38

回答

1

這很奇怪。軟件包基本上是文件夾,所以說你有com.me.a軟件包和一個名爲b的文件夾,基本上和com.me.a.b一樣。 或者這個特定項目的Eclipse工作區元數據有問題嗎? 嘗試使用此類包和類創建新項目,看看它是否有任何不同?

您在選擇「b」作爲源文件夾時描述的行爲是預期的:您基本上在告訴eclipse此文件夾b是源文件夾,用於源java文件的根文件夾。這是默認包,這個的每個子文件夾被認爲是一個不同的java包...

+0

你是對的,在選擇「b」作爲源文件夾時,它下面的文件以默認包的形式出現。 – SoltanG 2012-01-13 23:05:27

+0

好像Eclipse已經搞亂了關於這個特定文件的元數據,我猜svn誤導了它。我試圖從我的本地工作區中刪除這個特定的文件,刷新了eclipse,然後svn同步並再次獲得這個文件。這次在刷新Eclipse時,它似乎將該文件正確放置在正確的文件夾下。感謝您關於元數據的指示是正確的。 – SoltanG 2012-01-17 18:13:55

1

你有project/com/me/a/b設置爲源文件夾。你的構建路徑看起來像這樣。 enter image description here

您需要設置project作爲源文件夾。之後你的構建路徑將看起來像這樣。 enter image description here

+0

謝謝。但我的項目有適當的根文件夾作爲源(src/main/java)。這個問題似乎是由eclipse引起的,它可能是由svn引起的關於該特定文件的元數據。 – SoltanG 2012-01-17 18:10:53