有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java无法在Maven依赖项中将源代码附加到jar文件

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

问题是项目B不包含源代码。因此,在项目A中,我右键单击包资源管理器Maven Dependencies下的JAR B,选择Java Source Attachment并在项目B(在版本1.1,我不再有以前版本的源代码)源文件夹(^{)中设置位置路径。但Maven似乎找不到任何源类


共 (2) 个答案

  1. # 1 楼答案

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

    1. 要求B团队使用Maven发布插件。默认情况下,发布插件会在发布版本时上传源代码和javadoc工件
    2. 自己上传B源工件。因为您似乎在本地拥有它,所以将其上传到您的Maven存储库。那你就可以找回它了
    3. 使用Maven Install Plugin将它们安装到本地存储库(本地计算机上)。文档甚至展示了一个如何为工件执行此操作的示例。缺点是它只对你可见,其他人看不见

    由于您使用的是m2eclipse,因此可以右键单击项目,然后选择Maven>;下载资源

  2. # 2 楼答案

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