【问题标题】:Eclipse not picking up Maven attached source on debugEclipse 在调试时未获取 Maven 附加源
【发布时间】:2012-05-13 06:02:11
【问题描述】:

我已经使用 Maven->Download Sources 和 mvn eclipse:eclipse -DdownloadSources=true 在我的构建路径中下载了所有 Maven JAR 的源代码,这很有效!当我打开构建路径时,我可以看到每个 JAR 文件都附加了源 JAR。

但是当我在 Tomcat 6 上运行该死的东西时,我不断收到带有“编辑源查找路径”按钮的“找不到源”页面。但是源代码已经附加在构建路径中。这有什么不工作?

当我通过单击“编辑源查找路径”按钮手动将其指向 JAR 文件时,它可以工作。当我手动将其指向该文件夹时,它不起作用。为什么 Eclipse 或 Tomcat 没有在构建路径中获取附加的源代码?

注意:我使用的是 apache-maven-3.0.4、apache-tomcat-6.0.16 和 Eclipse Indigo Service Release 2。

【问题讨论】:

    标签: eclipse maven


    【解决方案1】:

    虽然这个错误在@Sonatype 的所有错误中获得最多票数,但尚未修复。

    但是,我已经在 Eclipse Bugzilla 上填写了增强请求,如果您同意应该修复“找不到源”这个问题,请为它投票 here

    您可以找到三种解决方法here

    【讨论】:

    • 该错误现已修复。
    • @cellepo 我目前遇到的问题是sounds familiar :(
    • 在版本中仍然存在此问题:Oxygen.1a Release (4.7.1a) Build id: 20171005-1200。
    【解决方案2】:

    我找到了这个com.ifedorenko.m2e.sourcelookup 插件。该链接在“Java Debugging: Source not found”中提供。

    转到Help > Install New Software .. 并使用

    http://ifedorenko.github.com/m2e-extras/

    搜索链接。安装这个插件后,我终于可以调试依赖的源代码了。

    【讨论】:

      【解决方案3】:

      Debug Configurations 对话框中使用 External Maven 而不是默认的Embedded

      请看下面的示例截图(菜单运行 -> 调试配置...):

      Configure external Maven

      测试环境:

      • 面向 Java 开发人员的 Eclipse IDE:Oxygen.1a 版本 (4.7.1a),64 位(来自 spring.io)
      • Oracle JDK jdk1.8.0_144,64 位
      • Maven:3.5.2
      • 操作系统:Windows 10 Enterprise N,64 位
      • 测试目标hpi:run(示例 Jenkins 插件)

      【讨论】:

      • 如果您有外部 Maven 安装,最简单的解决方案。谢谢!
      • 在基于 debian 的安装中,您可以使用 /usr/share/maven 作为外部 Maven 安装的路径。
      【解决方案4】:

      Window->Preferences->JBoss Tools->Source Lookup

      确保您已选中“自动将 JBoss Maven 源容器添加到所有 JBoss As 启动配置”。 并在“自动配置 Java 源附件”下, 选择“始终”。

      这有助于我自己解决问题。

      【讨论】:

        【解决方案5】:

        在我的情况下,问题与“调试配置”附带的源代码有关,可能是一些残留物形成了向 Maven 的迁移。

        我通过转到“调试配置...”页面并选择配置以防万一,然后在“源”选项卡中恢复了默认值,这添加了项目的所有 Maven 依赖项。

        【讨论】:

          【解决方案6】:

          我想我通过更新我的Eclipse m2e 为自己解决了这个问题。 我想我有 ~1.2 版本,然后更新到最新的 [写作时] 1.6.2。

          Eclipse Bug comments 帮助我解决了这个问题。

          现在我可以调试到我的 gquery-dnd-bundle-1.0.6!

          【讨论】:

            【解决方案7】:
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>${version.maven-source-plugin}</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                    <goal>test-jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
            

            【讨论】:

            【解决方案8】:

            “目标”maven 项目应该在“客户端”项目可以访问源代码之前发出它的源代码。我通过在“目标”项目中使用 maven-source-pluging 解决了这个问题:https://maven.apache.org/plugins/maven-source-plugin/index.html

            只要在目标项目的pom.xml文件中使用如下sn -p,制作一个release,将release版本使用到客户端项目的pom.xml文件中即可。那么eclipse就可以自动让你无缝“跳转”到目标项目了:

                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>${version.maven-source-plugin}</version>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar-no-fork</goal>
                                    <goal>test-jar-no-fork</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
            

            【讨论】:

              猜你喜欢
              • 2010-12-20
              • 1970-01-01
              • 2010-09-23
              • 2011-06-22
              • 1970-01-01
              • 2011-07-31
              • 1970-01-01
              • 2011-02-08
              • 1970-01-01
              相关资源
              最近更新 更多