Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.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项目中的源jar?_Java_Maven_Maven Deploy Plugin - Fatal编程技术网

Java 如何仅部署maven项目中的源jar?

Java 如何仅部署maven项目中的源jar?,java,maven,maven-deploy-plugin,Java,Maven,Maven Deploy Plugin,我们在nexus存储库中发布了许多版本,但没有附加源JAR。我想为这些版本回填源jar 我想做的是 签出我想要上传源代码的标记版本 使用附加源代码段更新pom 执行maven部署 此操作失败,错误代码为400,因为pom和工件jar已经在存储库中 有没有办法只上传源jar 我认为最简单的方法就是使用“curl”上传源jar。您甚至不需要对此进行任何更改。您应该能够使用maven deploy文件(这还具有生成各种文件总和的附加好处)、详细信息(您将使用“packaging=jar”和“class

我们在nexus存储库中发布了许多版本,但没有附加源JAR。我想为这些版本回填源jar

我想做的是

  • 签出我想要上传源代码的标记版本
  • 使用附加源代码段更新pom
  • 执行maven部署 此操作失败,错误代码为400,因为pom和工件jar已经在存储库中


    有没有办法只上传源jar

    我认为最简单的方法就是使用“curl”上传源jar。您甚至不需要对此进行任何更改。

    您应该能够使用maven deploy文件(这还具有生成各种文件总和的附加好处)、详细信息(您将使用“packaging=jar”和“classifier=source”)来完成此操作。

    您可以删除/重命名旧版本并重试吗?为什么不发布一个带有源代码的新版本?(从技术上讲,这是与源代码不同的版本)我没有权限。发布一个新版本似乎很优雅。我不认为这是一个不同的版本。您将花费更多的时间来摆弄Maven及其文档。只需手动上传源jar。见鬼,如果你能访问,SCP也可以。我很想把它作为答案,但我不确定curl命令应该是什么。@Caoilte try
    curl--data binary@target/yourpack-version-sources.jar
    Url要发布到的位置取决于你的存储库。它可以是http或ftp。如果存储库不喜欢默认代理,您可能需要给curl-一个标志。你需要做一些尝试和错误。做
    男子卷发
    。这将在Linux上运行。在Windows上,您将需要cygwin或使用不同的工具。这不应该是“分类器=源”(复数)吗?这对我很有用。年轻玩家的一个陷阱似乎是,这个目标的“repositoryId”参数需要设置为settings.xml中条目的ID,而不是您可能认为的存储库的ID。这实际上是可行的。这有点混乱,因为还必须指定实际的工件文件。但是,当指定了
    classifier=source
    时,首先上载
    -Dsources=artifact source.jar
    文件。然后出现400错误,但文件已上载。这同样适用于
    -dclassizer=javadoc