【发布时间】:2020-10-21 19:34:43
【问题描述】:
我正在使用 Eclipse 和 Maven 创建一个 Maven 包,该包上传到 MyGet 以供其他用户使用。我想这样当我的包被引用为依赖项并因此从 MyGet 下载时,源附件也被下载。
我已经看到这种情况发生在例如 JOGL 库中 - 当我在 Eclipse 中的 Maven 项目引用 JOGL 时,我最终在与 JOGL 关联的 ~/.m2/repository 子目录中得到以下文件(以及其他文件) :
- jogl-all-main-2.3.2.jar
- jogl-all-main-2.3.2-sources.jar
在 Eclipse 中,如果我右键单击 jogl-all-main-2.3.2.jar 库并选择“属性”,它会将源附件显示为位于我的 .m2 文件夹中的 jogl-all-main-2.3.2-sources.jar。我不相信我做了任何事情来选择那个文件作为源附件。我认为它是自动发生的。
当我将我的包上传到 MyGet 时,它允许我上传一个或多个 jar 文件,但它希望每个 jar 文件都是一个包含 pom.xml 文件的 Maven 包,因此我无法上传源 jar 文件直接到 MyGet。
也许这是 MyGet 的一个限制,因为它不允许我并行上传源。我对 Maven 不够熟悉,不知道是否需要在 pom.xml 中为我的包指定。
【问题讨论】:
-
请查看this answer。我相信 MyGet 应该支持标准 Maven 的 mvn clean javadoc:jar source:jar deploy 命令
-
@udalmik 那么您是否建议使用
mvn部署而不是MyGet 的Web 界面将允许我部署包含源代码的jar 文件? -
是的,我会尝试这种方式,将您的 MyGet 存储库添加到配置中
-
@udalmik 这似乎是个不错的选择。我已经得到
maven deploy成功将包推送到存储库。但它没有上传源/javadocs。我应该单独使用deploy-file命令部署这些,还是有办法在执行deploy命令时自动发生? -
@udalmik:我能够使用
mvn deploy而不是使用MyGet 的GUI 来上传包。如果您想写一个答案,我会将其标记为批准的答案。