21

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

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

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

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

4

8 回答 8

16

尽管此错误在@Sonatype 的所有错误中获得最多票数,但尚未修复。

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

您可以在此处找到三种解决方法。

于 2012-07-12T13:14:10.400 回答
5

我找到了这个com.ifedorenko.m2e.sourcelookup插件。该链接在“ Java 调试:找不到源”中提供。

前往Help > Install New Software ..并使用

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

搜索链接。安装此插件后,我终于能够调试依赖项的源代码。

于 2016-06-08T19:54:04.287 回答
2

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

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

配置外部 Maven

测试环境:

  • 面向 Java 开发人员的 Eclipse IDE:Oxygen.1a Release (4.7.1a),64 位(来自 spring.io)
  • Oracle JDK jdk1.8.0_144, 64 位
  • Maven:3.5.2
  • 操作系统:Windows 10 企业版 N,64 位
  • 测试目标hpi:run(示例 Jenkins 插件)
于 2017-12-05T11:50:48.357 回答
1

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

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

于 2013-09-13T23:22:57.430 回答
1

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

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

这可以帮助自己解决问题。

于 2015-05-19T07:18:50.867 回答
0

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

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

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

于 2015-11-21T16:51:03.073 回答
-2
        <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>
于 2017-03-16T16:03:35.177 回答
-2

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

只需在目标项目的 pom.xml 文件中使用以下代码片段,进行发布,并将发布版本使用到客户端项目的 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>
于 2017-03-16T16:08:23.303 回答