如何教 Eclipse 在源路径中包含 Maven 源包?

Posted

技术标签:

【中文标题】如何教 Eclipse 在源路径中包含 Maven 源包?【英文标题】:How to teach Eclipse to include Maven source packages on the source path? 【发布时间】:2010-11-30 20:30:40 【问题描述】:

在调试时查找库源文件时,如何使用 m2eclipse 教 Eclipse 将我本地 Maven 存储库中的所有源 .jar 包含在源路径中?

【问题讨论】:

您找到适合您的答案了吗? @Cuga:不,我没有。对你来说似乎是一样的。 我也遇到了同样的问题——请看我的回答,希望它能为你解决这个问题。 这个解决方案对我有用:***.com/questions/5780758/… 【参考方案1】:

您应该启用下载工件源首选项。

删除了无效的 ImageShack 链接

对于现有的工件,您可以使用 下载源代码 操作:

删除了无效的 ImageShack 链接

【讨论】:

@Robert,OP 似乎暗示源 jar 已经在本地存储库中。如果是这种情况,设置下载源将导致源的第二个副本被下载到嵌入器的本地存储库,而不是 Maven 安装指定的那个。 源码包被下载,只是调试时不在源码查找路径上。 您添加的图像似乎已被删除。【参考方案2】:

我遇到了同样的问题——我使用 Maven 源插件将源代码部署到我们的存储库中,当我将该项目包含在一个单独的项目中时,尽我所能尝试,它不会包含源代码Eclipse 构建路径。我之前为之前的工作做过这个,我知道可以将源包含在构建路径中,以便 Eclipse 只需单击其他答案中所述的“下载源”即可自动链接集成调试器中的源。

这就是我所拥有的(这对我不起作用)。我从 maven-source-plugin 的网页上得到了这个 sn-p 代码:

        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
            <execution>
                <id>attach-sources</id>
                <goals>
                    <goal>jar</goal>
                </goals>
            </execution>
        </executions>

这会将源代码打包到单独的 JAR 中并将其上传到我们的存储库,但它不会自动附加到 Eclipse 调试器。最终,我发现我需要一个&lt;configuration&gt;&lt;attach&gt;true&lt;/attach&gt;&lt;/configuration&gt; sn-p,如下所示:

        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <executions>
            <execution>
                <id>attach-sources</id>
                <goals>
                    <goal>jar</goal>
                </goals>
            </execution>
        </executions>
        <configuration>
            <attach>true</attach>
        </configuration>

在此之后,通过右键单击 Package Explorer 中的项目并执行“Maven > 下载源”,源会自动附加到 Eclipse 调试器。

我希望这能解决你的问题。

【讨论】:

我将插件配置复制到我的 pom.xml 中。我还清理了存储库,然后 mvn install。但是,我仍然无法让调试器在自动调试期间附加我的 Maven 依赖库,例如 spring-core。你能提供更多细节吗? 您是否尝试在 Package Explorer 中右键单击项目并执行“Maven > 下载源”? 我必须按照@felipe-fernandez 的建议手动选择源 jar【参考方案3】:

转到 Window->Preferences->Maven->Installations 并确保将 Maven 配置为使用您的 Maven 安装而不是嵌入器。

如果未配置为这样做,请选择 Add... 并浏览到 Eclipse 安装的根目录,然后确定选择。

M2eclipse 然后将读取您的设置文件,发现您的本地存储库,并自动附加本地存储库中可用的源。

如果 m2eclipse 指向您的本地存储库,您应该能够右键单击并选择 Maven->Download Sources,或者启用首选项以自动下载它们。如果源已经存在,则应简单地附加它们。有关详细信息和漂亮的屏幕截图,请参阅this answer。

如果在执行这些步骤后仍然没有附加源,则表明您的 Maven 安装有问题。您可以尝试将 m2eclipse 插件更新到最新版本,看看是否可以解决问题。

【讨论】:

我已经使用了外部 Maven 安装。但是无法识别源包并添加到源路径。在 Eclipse 中,我究竟在哪里可以找到项目的源查找路径配置?【参考方案4】:

首先下载jar 源。在包资源管理器,Maven 依赖项中,找到您想要的 jar,右键单击它,Maven,下载源。

下载的源 jar 位于您的主目录、.m2 文件夹、存储库中,然后浏览包名称,直到获得 xxx-sources.jar。

然后调试您的 maven 项目。在调试视图中,调试视图,右键单击您的项目,编辑源查找,添加...,外部存档并选择下载的源 jar。

【讨论】:

【参考方案5】:

我也遇到了 Anatoli 描述的m2eclipse bug。它仍然没有解决,在我看来这也是提问者问题的原因。

【讨论】:

我觉得你错了,bug只指插件调试。【参考方案6】:

请记住,根据您的 m2eclipse 版本,您可能会受到this problem 的影响。该问题在调试插件时会中断源代码查找。

【讨论】:

以上是关于如何教 Eclipse 在源路径中包含 Maven 源包?的主要内容,如果未能解决你的问题,请参考以下文章