2012-03-22 75 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

相关问题