2015-01-05 29 views
0

我在我的倉庫中有一個web項目,最近我收到了另一個項目,只是代碼,我需要在第一個項目上使用它作爲子模塊(只是java實體類)。像這樣的:使用maven集成2個eclipse項目

./web-project/.project 
./entities/.project 

因爲我相信它會經常改變我需要它仍然是一個單獨的eclipse項目。我想要的是在web-project中使用entities,就像我已經將.jar作爲依賴關係一樣。

除了創建我自己的maven repo並從那裏獲取jar,是否有方法將它添加到我的構建路徑中,因爲我正在使用maven來構建這兩個項目?

回答

0

我終於解決了它在構建web-app之前將構建的工件安裝到本地m2回購。它在eclipse上運行,並從命令行運行構建。

對因項目entities添加以下插件到install構建步驟:

<plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-install-plugin</artifactId> 
     <version>${maven-install-plugin.version}</version> 
     <executions> 
      <execution> 
       <phase>install</phase> 
       <goals> 
        <goal>install-file</goal> 
       </goals> 
       <configuration> 
        <groupId>${project.groupId}</groupId> 
        <artifactId>${project.artifactId}</artifactId> 
        <version>${project.version}</version> 
        <packaging>jar</packaging> 
        <file>${basedir}/target/${project.artifactId}-${project.version}.jar</file> 
       </configuration> 
      </execution> 
     </executions> 
    </plugin> 

而且聲明依賴作爲web-project POM如常。

0

我不確定我完全理解這個問題。聽起來好像你希望在從maven生成Eclipse項目時將依賴項目包含在Eclipse構建路徑中。是對的嗎?

如果是這樣,我知道這樣做的唯一方法是從父Maven項目運行mvn eclipse:eclipse。也就是說,你需要創建一個pom.xml文件作爲一個目錄,然後把你現有的兩個項目都放在它的下面。例如:

./parent-folder 
    /pom.xml 
    /web-project 
    /pom.xml 
    /entities 
    /pom.xml 

然後,當然,在pom.xml文件中聲明適當的maven依賴關係。

+0

這不完全是。我只希望能夠在'web-project'中使用'entities'中的類,就像我已經將生成的'entities' jar包含爲依賴項一樣。我無法真正改變文件夾結構來製作包含兩者的項目。 –

+0

你只需要構建路徑上的jar文件?然後,只需一個簡單的Maven依賴項就可以工作。如果您想自動設置實際的eclipse項目依賴關係,則需要父文件夾。當然,你可以手動設置構建路徑....或者我還沒有理解? –

0

我不認爲除了只聲明entities作爲的web-project Maven項目之外,您不需要做任何事情。

這種關係確保entities Eclipse項目源自動包含在web-project的構建路徑,只要你有:

  • 導入到Eclipse和標記爲使用m2e插件

  • Maven項目兩個項目
  • Maven > Enable Workspace Resolution選項啓用

至於將它們一起構建,您可以創建一個可拋棄的父項目(如果您不想保留父項目),請將這兩個項目列爲module s。否則,在構建web-project之前,必須構建entities項目並將其安裝到本地回購站。但是,您將在web-project項目中看到entity類隨時可用的更改,因爲您的構建路徑中有前者的源代碼。