2014-10-16 72 views
4

工作,我有以下結構搖籃分次項目名稱相同並不適用於Eclipse

root 
|- foo  
| |- implementation 
| | \- build.gradle 
| \- interface 
|  \- build.gradle 
| 
|- bar 
| |- implementation 
| | \- build.gradle 
| \- interface 
|  \- build.gradle 
| 
|- build.gradle 
\- settings.gradle 

在settings.gradle我有以下幾點:

include ':foo:implementation', ':foo:interface' 
include ':bar:implementation', ':bar:interface' 
在我的構建

。 gradle根文件夾我把它們全部作爲依賴關係

dependencies { 
    compile project(':foo:implementation') 
    compile project(':foo:interface') 
    compile project(':bar:implementation') 
    compile project(':bar:interface') 
} 

Eclipse需要每個項目具有不同的名稱。默認情況下,Gradle使用項目名稱在eclipse中命名這些名稱。因此eclipse無法區分':foo:implementation'和':bar:implementation:',因爲它們在Eclipse中都將被命名爲'implementation'。在我的腦海裏這應該是可以解決的由Eclipse項目的名稱設置爲更具體的東西,如:

allprojects { 
    eclipse.project { 
     if (project == rootProject) { 
      name = rootProject.name 
     } else { 
      name = rootProject.name + project.path.replace(":", "-") 
     } 
    } 
} 

有了這個,我得到獨特的項目名稱,但是當我看的.classpath XML只執行一個項目和其中一個界面項目。

有什麼想法?

+0

如何導入到Eclipse中,並搖籃你使用的是哪個版本?根據我的記憶,'gradle eclipse'就是這樣做的(即使得名稱是唯一的)。 – 2014-10-16 15:52:28

+0

我使用'gradle eclipse'。 Gradle版本2.0 – 2014-10-17 08:37:45

+0

我有同樣的問題。被卡住了一天,還沒有找到任何解決方法 – 2017-04-05 11:28:15

回答

1

到目前爲止,我一直只使用「單目錄級」多項目;對於方案中,有幾種方法來解決這個問題:

  • 如果你想解決它的日食只,如果你正在使用的「進口gradle這個項目」嚮導,你可能需要設置「使用分層項目名稱「複選框。不知道它是如何表現在你的情況(雙方迪爾水平)
  • 下一個可以希望幫助你:how to rename the project in gradle instead of using folder name?。可能對你的雙重目標水平進行一些額外的調查。它也將改變gradle這個項目名稱BTW
  • 事實上,該eclipse plugin還提供了手段改變項目名稱,沒有但用它自己...