使netbeans将maven源附加到工件

时间:2010-08-18 15:45:43

标签: maven-2 netbeans

我遇到了一些我想介入的第三方库的问题。右键单击库节点时,Netbeans提供“下载源”选项。这会正确地从svn下载源,源图标附加到依赖节点,所有都是桃子。但是,当我打开其中一个类时,它会给我一个生成的骨架,就像没有附加源一样。更进一步,当存在maven源时,似乎没有选择手动附加本地源,因此我无法解决此问题。

其他人对此功能的体验是什么?

仅供参考,有问题的图书馆是3.1.0 http://www.igniterealtime.org/projects/smack/index.jsp

2 个答案:

答案 0 :(得分:5)

正如Pascal所写,源工件的解析是通过约定发生的,所以如果依赖关系是:

<dependency>
    <groupId>com.yourcompany</groupId>
    <artifactId>yourartifact</artifactId>
    <version>1.2.3</version>
</dependency>

它将在以下位置查找源工件:

<dependency>
    <groupId>com.yourcompany</groupId>
    <artifactId>yourartifact</artifactId>
    <version>1.2.3</version>
    <classifier>sources</classifier>
</dependency>

所以你可以做的是从source download page下载源代码,从中创建一个jar并运行install:install-file,如on the usage page所示:

mvn install:install-file -Dfile=your-created-source.jar \
                         -DgroupId=jivesoftware \
                         -DartifactId=smack \
                         -Dversion=3.1.0 \
                         -Dclassifier=sources \
                         -Dpackaging=jar \
                         -DgeneratePom=false

这样会议就行了,netbeans会自动找到你的来源。

编辑:添加包装

答案 1 :(得分:3)

  

Netbeans在右键单击库节点时提供“下载源”选项。这会正确地从svn下载源,源图标附加到依赖节点,所有都是桃子。

如果我们在这里谈论Maven,我认为这不是正在发生的事情。 下载源功能告诉Maven从Maven存储库下载给定依赖项sources工件(例如foo-1.0-SNAPSHOT-sources.jar)。显然,这仅在给定依赖项提供-sources jar时才有效。但smack-3.1.0并非如此。