Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从Maven中的另一个依赖项添加源?_Java_Spring_Maven - Fatal编程技术网

Java 如何从Maven中的另一个依赖项添加源?

Java 如何从Maven中的另一个依赖项添加源?,java,spring,maven,Java,Spring,Maven,我正在用Spring2.0.8做一些测试。我有以下问题,所有的源代码都是用“spring”工件下载的,但不是由mvn eclipse附加的:eclipse附加到其他工件,例如“spring aop”工件,我无法从eclipse访问源代码,尽管spring-2.0.8-sources.jar中有aop包 <properties> <org.springframework.version>2.0.8</org.springframework.version>

我正在用Spring2.0.8做一些测试。我有以下问题,所有的源代码都是用“spring”工件下载的,但不是由mvn eclipse附加的:eclipse附加到其他工件,例如“spring aop”工件,我无法从eclipse访问源代码,尽管spring-2.0.8-sources.jar中有aop包

<properties>
    <org.springframework.version>2.0.8</org.springframework.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-aop</artifactId>
        <version>${org.springframework.version}</version>
    </dependency>
</dependencies>

2.0.8
org.springframework
春天
${org.springframework.version}
org.springframework
春季aop
${org.springframework.version}
如果我在Java构建路径中将spring-2.0.8-sources.jar手动添加到spring aop中,那么我可以在Eclipse中导航源代码,但我想知道如何告诉Maven这样做,因为每次添加或更改库时,我都必须重复附加源代码操作


更新:我最初担心的配置被覆盖的想法被证明是错误的。m2eclipse和“mvn eclipse:eclipse”都不会覆盖对配置的手动更改。我仍然有兴趣知道是否可以告诉Maven附加来自另一个依赖项的源。如果有帮助的话,我还安装了Nexus。

如果您使用的是当前版本的m2eclipse又名m2e插件,那么就不需要再安装eclipse:eclipse了。只需在Eclipse中执行所有操作。您应该能够更新POM中的依赖项,右键单击项目,并自动下载所有附加的源代码。

正如@Will-Iverson所说,最近的m2eclipse插件可以提前或按需自动下载源代码。m2eclipse能够做到这一点已经有相当长的时间了

如果这不起作用:

  • 检查您是否有最新的插件(以及最新的Eclipse!)
  • 看看插件的配置方式
  • 检查Eclipse的有效web代理配置
  • 检查
    ~/.m2/settings.xml
    以查看是否正在使用maven代理存储库
  • 如果您使用的是代理存储库,请检查存储库配置以查看它是否为源JAR提供服务

如果我理解,当我添加依赖项时,您建议我应该执行m2Maven>Update Dependencies、m2Maven>Download JavaDoc、m2Maven>Download Sources,尽管调用“mvn eclipse:eclipse”更不方便,但此操作将保留我的手动更改,而不是覆盖它们

  • 如果您使用的是m2eclipse,那么您应该需要使用“mvn eclipse:eclipse”。相反,您只需使用(例如)File>import>maven>existingmaven项目导入maven项目

  • 我不认为这会破坏你现有的手工创建的项目设置。。。假设您没有意外地将它们签入SCM或其他什么

  • 如果您担心丢失设置的可能性,请备份您的工作区;e、 g.
    cp-r…
    tarcf…

  • Maven允许您一步从SCM直接导入。这肯定比mvn eclipse:eclipse更方便。。。它为您提供了m2eclipse插件的好处


  • 问题是,我认为spring源代码是存在的,并且它们是服务的,但是它们都在一个依赖项中,其他依赖项没有源代码附件,但是它们的源代码在“spring”依赖项中

    啊。我明白了


    我认为你(或m2eclipse)对此无能为力。这可以说是Spring2.0.xPOM文件或相关POM文件中的一个bug。当然,Spring的更高版本(2.5.x和3.0.x)没有这个问题。

    谢谢Will,所以是的,我也有m2eclipse。如果我理解的话,当我添加依赖项时,你建议我应该执行m2Maven>Update Dependencies,m2Maven>Download JavaDoc,m2Maven>Download Sources,这个操作,尽管调用“mvn eclipse:eclipse”更不方便,但会保留我的手动更改,而不是覆盖它们。实际上我刚刚尝试过,即使是mvn eclipse:eclipse也不会覆盖更改,除非您执行mvn eclipse:clean。然而,我仍然很好奇,是否有可能告诉Maven从另一个dep那里获得信息来源,这是我最初的问题。我想我的问题可能不太清楚。问题是,我认为spring源代码是存在的,并且它们是服务的,但是它们都在一个依赖项中,其他依赖项没有源代码附件,但是它们的源代码在“spring”依赖项中。感谢这些提示,我可能需要了解更多关于m2eclipse插件的信息,我会这么做的。是的-这将是Spring2.0.x和/或相关POM文件中的一个bug。您可以尝试将其他依赖项添加到您的项目中(可能是在提供的范围内),看看是否有效。