我遇到了一些我想介入的第三方库的问题。右键单击库节点时,Netbeans提供“下载源”选项。这会正确地从svn下载源,源图标附加到依赖节点,所有都是桃子。但是,当我打开其中一个类时,它会给我一个生成的骨架,就像没有附加源一样。更进一步,当存在maven源时,似乎没有选择手动附加本地源,因此我无法解决此问题。
其他人对此功能的体验是什么?
仅供参考,有问题的图书馆是3.1.0 http://www.igniterealtime.org/projects/smack/index.jsp
答案 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
并非如此。