获取Eclipse上的快照依赖源

时间:2010-08-25 16:19:37

标签: java eclipse maven-2 java-ee

困扰我的东西...... 在具有许多依赖项的大项目中,其中一些在Maven2中设置为SNAPSHOT。

问题是,如果没有加载项目或将依赖项修复到最后一个版本,我似乎无法通过Eclipse获取源代码。 对于调试,它真的很烦我......

修改

这是我在eclipse maven控制台中得到的:

26/08/10 11:31:46 CEST: Downloading http://repo-maven/archiva/repository/snapshots/com/blabla/1.1-SNAPSHOT/blabla-1.1-20100824.213711-80-javadoc.jar
26/08/10 11:31:47 CEST: Could not download sources for com.blabla:blabla:1.1-20100824.213711-80

在archiva上,我可以看到我想在eclipse中检索的部署内容......

Repository   snapshots
Group ID  com.blabla
Artifact ID  blabla
Version  1.1-20100824.213711-80
Packaging  jar
Parent  com.blabla bla 1.1-SNAPSHOT (View)
Other Versions  1.1-20100824.213535-79

我可以使用浏览器下载此工件的源代码,但不能在Eclipse中下载...任何想法?

1 个答案:

答案 0 :(得分:1)

  

问题是,如果没有加载项目或将依赖项修复到最后一个版本,我似乎无法通过Eclipse获取源代码。对于调试,它真的很烦我......

嗯,这些模块可能不会发布源JAR作为“常规”构建过程的一部分(即在发布之外)。如果这些模块在您的控制之下(这是我的理解),配置Maven Source Plugin为它们生成源JAR并在企业仓库中部署它们应该可以解决问题。来自Usage页面:

  

与您的工件一起安装源

     

有两种方法可以做到这一点。您可以   将此插件绑定到阶段或   您可以将其添加到个人资料中。目标   来源:jar-no-fork和   来源:test-jar-no-fork是首选   用于将目标绑定到构建   的生命周期。

     

使用相位绑定

安装源      

以下是配置的方法   你的pom.xml中的插件可以运行   在验证阶段自动执行:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.1.2</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <phase>verify</phase>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
  ...
</project>
     

我们在这里使用验证阶段   因为这是阶段   在安装阶段之前,从而制作   确定源罐已经存在   在安装之前创建   的地方。

     

使用配置文件安装源

     

如果你想安装一罐你的   来源和你的工件   在发布过程中,你可以   将其添加到您的pom.xml文件中:

<project>
  ...
  <profiles>
    <profile>
      <id>release</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>2.1.2</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar-no-fork</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
  ...
</project>

使用配置文件可能是一个好主意,因此构建源JAR只能由在CI服务器级别运行的构建完成,而不能在开发人员机器上完成。