无法在Maven依赖关系中将添加源代码附加到jar文件

时间:2012-03-22 07:35:44

标签: java eclipse maven m2eclipse

我有一个maven项目A,它使用我团队1.0版本的另一个项目B的jar文件。项目B的版本1.0 已提交到本地Maven存储库。

问题是项目B不包含源代码。因此,在项目A中,我右键单击包管理器 Maven依赖项下的JAR B,选择 Java源附件并设置位置项目B的路径(版本1.1 ,我没有以前的版本源)源文件夹(xxx/projectB/src/main/java/)。但似乎Maven没有找到任何源类。

2 个答案:

答案 0 :(得分:3)

有几种方法可以解决这个问题:

  1. 请B团队使用Maven发布插件。当您发布版本时,发布插件将默认上载源和javadoc工件。
  2. 自行上传B源工件。由于您似乎在本地拥有它,因此将其上传到Maven存储库。然后你应该能够检索它。
  3. 使用Maven Install Plugin将它们安装在本地存储库(在本地计算机上)上。该文档甚至显示了如何为 sources 工件执行此操作的示例。缺点是,只有你才能看到它,没有其他人。
  4. 由于你正在使用 m2eclipse ,你可以右键单击该项目,然后选择 Maven>下载资源

答案 1 :(得分:1)

添加到您的B 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>