2012-03-22 78 views
3

我有我的團隊的1.0版本使用另一個項目B的jar文件Maven項目一個。項目B的版本1.0已提交給本地Maven存儲庫。無法附加添加源代碼到一個JAR文件中Maven的依賴

問題是項目B不包括源代碼。因此,在項目A,我在Package Explorer中Maven依賴的JAR B關於單擊鼠標右鍵,選擇Java源附件和設置在項目B中的位置路徑(在1.1版,我不知道有以前的版本源)源文件夾(xxx/projectB/src/main/java/)。但似乎Maven沒有找到任何源代碼類。

回答

3

一對夫婦的方式來解決這個問題:

  1. 向B隊使用Maven的版本插件。發佈插件將在您發佈版本時默認上傳源代碼和javadoc工件。
  2. 自己上傳B源物件。由於您似乎在本地擁有它,因此請將其上傳到您的Maven存儲庫。那麼你應該可以檢索它。
  3. 使用Maven Install Plugin將它們安裝到本地存儲庫(在本地計算機上)。該文檔甚至展示了一個關於如何爲來源工件完成的示例。缺點是隻有你自己可以看到,沒有其他人。

由於您使用m2eclipse的,然後你可以在項目上單擊右鍵,然後選擇的Maven>下載源

+0

謝謝。似乎Maven依賴關係沒有任何竅門。我必須要求某人重新將B的源代碼上傳到maven。 – bnguyen82 2012-03-22 10:18:24

+0

我已經添加了另一個(本地)解決方案,您可以自己做(Maven Install Plugin)。 – nwinkler 2012-03-22 10:29:50

+0

謝謝你的回答。 – bnguyen82 2012-03-22 11:04:03

1

添加到您的乙POM(我認爲他們應該工作):

<build> 
       <plugins> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-dependency-plugin</artifactId> 
         <executions> 
          <execution> 
           <id>install</id> 
           <phase>install</phase> 
           <goals> 
            <goal>sources</goal> 
           </goals> 
          </execution> 
         </executions> 
        </plugin> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-source-plugin</artifactId> 
         <executions> 
          <execution> 
           <id>attach-sources</id> 
           <goals> 
            <goal>jar</goal> 
           </goals> 
          </execution> 
         </executions> 
        </plugin> 
       </plugins> 
      </build> 
+0

我不能。因爲B項目不在我的代碼庫中。有沒有更優雅的方式? – bnguyen82 2012-03-22 08:03:23

+0

[用於eclipse的java反編譯器插件](http://java.decompiler.free.fr/?q=jdeclipse)也許不是優雅,但它的工作 – 2012-03-22 08:50:34

相關問題