问题标签 [maven-deploy-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1796 浏览

maven-2 - 连接maven和putty

我在使用带有 mvn-deploy-plugin 的腻子时遇到问题。

我执行: mvn deploy

这是我的 settings.xml 的样子:

它总是吐出相同的消息,不会在 Google 上触发很多结果。它在网站上调用,然后在 scp 命令上失败。

[错误] 构建错误

[INFO] 检索工件“com.mycompany.myproject:project:war”的先前版本号时出错:无法从存储库中检索“snapshot com.mycomany.myproject:project:2.3-SNAPSHOT”的存储库元数据:snapshots.liege由于错误:为“网站”配置 wagon 时:无法应用 wagon 配置。

我尝试添加 exe(这对我来说更有意义),但没有任何区别。

0 投票
3 回答
16436 浏览

maven - 为什么 Maven(不正确?)将我的 SNAPSHOT 部署到发布和快照存储库?

我目前在尝试设置项目以部署到内部 nexus 存储库时遇到问题。由于我对 Maven 比较陌生,因此我希望在如何设置分发管理方面存在一些我并不真正理解的东西。

基本问题是,当我执行“mvn deploy”时,工件已成功部署到快照存储库,但 Maven 也试图将其部署到发布存储库,但它失败了......正如它应该的那样。我对当前配置的理解是,它也不应该将其部署到发布存储库。

我在下面包含了各种配置元素,但我想知道我是否真的应该使用配置文件管理该部分,以便仅定义快照构建,而仅定义发布构建。

对此的任何帮助/澄清将不胜感激。

我的 POM 中有以下内容用于分发管理:

在 POM 的其他地方,我进行了以下设置,以允许使用这些存储库来获取工件:

我的 settings.xml 中有正确的设置,以提供能够发布到在我的计算机上运行的测试关系实例的凭据,实际上它正在成功部署快照。

问题是它还尝试将快照部署到发布存储库,该存储库被配置为禁止快照。

“mvn deploy”的输出包括以下内容:

来自 Nexus 的日志包含以下内容(正如我所期望的那样):

0 投票
1 回答
11086 浏览

maven - 根据配置文件更改部署的工件名称

我在 web 应用程序的 pom 文件中有一个构建配置文件,它为 qa 测试做了一些必要的事情(在我的代码中)。

我在 svn 上有这段代码,这段代码在 Hudson 中编译,它在 nexus 中部署工件。

Hudson 有两份工作,一份用于 qa 配置文件 (-P qa),另一份用于客户。

我需要的是在部署阶段更改我的 qa 配置文件中工件的名称,以便 nexus 有两个不同的战争文件,一个用于 qa,一个用于客户。

我使用(在谷歌搜索后)以下看起来在 hudshon 中没有任何作用!

有人有什么想法吗?

0 投票
1 回答
867 浏览

maven-2 - 使用 Maven 在一个远程服务器文件夹中传输 Jar & Wars

我正在将现有项目转换为 Maven 及其构建和发布过程。我的结构是这样 ParentProj -Child1 -Child2 -ChildWeb3 -ChildWeb4

我不确定 maven 最佳实践说什么,但我需要 1. 分别标记我的所有子项目 2. 当我通过部署服务器转移到 (mvn release:prepare release:perform -B) 时,它会创建一种存储库我想在远程服务器上创建一个文件夹&只把所有的罐子和战争放在里面&没有其他文件 3.还有什么方法可以在我的远程服务器中执行 shell 脚本

等待您的指导

0 投票
1 回答
20283 浏览

maven - 部署到 nexus 时未更新 maven-metadata.xml

我正在使用 Apache Maven 3.0 Nexus 开源版,版本:1.8.0.1

这是我 pom.xml 的一部分

这是一个非常简单的项目。当我做

一切正常:

现在我下载http://myrepo/nexus/content/repositories/.../maven-metadata.xml 它看起来像这样:

我的最新和刚刚发布的版本没有标记为“最新”和“发布”。

现在我在 Nexus WebUI 中执行“重建元数据”。在此之后我再次下载元数据。现在看起来像这样

这看起来像 nexus 或 maven 中的错误?有人对此有解决方案吗?

0 投票
4 回答
25261 浏览

maven - 如何仅将 pom 文件部署到 Maven 中的快照存储库?

我希望能够在运行时仅部署 POM 工件(文件)而没有主要工件(JAR、WAR 等),mvn deploy并且版本是 SNAPSHOT 版本。

为什么?

我们有几个开发人员从事多个 Maven 项目。我们有一个 Hudson 服务器,每个 Maven 项目和版本都有一个作业(例如 foo-1.2、foo-1.3)。每个作业都会构建项目并将其部署到 Nexus 服务器(成功后)。正在开发的 Maven 项目通过在版本中使用 -SNAPSHOT 后缀进行标记。例如:1.2-SNAPSHOT、1.3-SNAPSHOT。

这是一个示例场景,开发人员的工作如何因此架构而受损。

假设有两个 Maven 项目:foo-core 和 foo-webapp,都在 1.2-SNAPSHOT 版本。

  • 开发人员 A 正在研究 foo-core,做了一些更改并编译了它。
  • 开发人员 A 继续工作,但在 foo-webapp 上。
  • 开发人员 B 开始工作并更改 foo-core。它提交他的工作并将其推送到 SCM。
  • Hudson由SCM触发;构建 foo-core 并将其部署到 Nexus 中的快照存储库。
  • 开发者 Amvn install在 foo-webapp 上运行。Maven 正在检查 Nexus,并发现 Nexus 中有更新版本的 foo-core。它下载它(充满了开发人员 B 的更改),然后编译失败,因为开发人员 A 所做的更改不在本地存储库中的 jar 中。下载会覆盖开发人员 A 在此处安装的文件。

现有解决方案

我查看了 maven-deploy-plugin,但这个插件部署了附加到项目的所有工件。如果他们有办法配置要部署的工件,那就太好了。

问题:有没有什么方法可以解决这个问题,而无需基于 maven-deploy-plugin 编写我自己的部署插件?

0 投票
2 回答
2128 浏览

java - 如何仅部署 Maven 项目中的源 jar?

我们在没有附加源 jar 的情况下向我们的 nexus 存储库发布了许多版本。我想回填这些版本的源 jar。

我试图做的是

  1. 签出我想为其上传源的标记版本
  2. 使用 attach-sources 片段更新 pom
  3. 做一个 Maven 部署

由于 pom 和工件 jar 已经在存储库中,因此失败并显示 400 错误代码。

有没有办法只上传源jar?

0 投票
3 回答
18720 浏览

ant - 如何部署使用 maven-antrun-plugin 创建的 zip 文件?

我正在使用 maven-antrun-plugin 对 Ant 进行大量工作,最终生成一个 zip 文件。我想将 zip 文件部署到我们的 Maven 服务器(Artifactory)。maven-antrun-portion 按预期工作并成功创建了 zip 文件;但是部署失败并显示以下错误消息:

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy (default-deploy) on project projectname: The packaging for this project did not assign a file to the build artifact

我的POM文件如下:

当我(从父 POM)调用它时,mvn -U -pl projectname clean deploy我在部署阶段收到上述错误。有谁知道我做错了什么或如何解决这个问题?

0 投票
4 回答
21419 浏览

maven - mvn deploy:file to different repositories for snapshot and release version

Is it possible to in some way tell the maven deploy:file goal to deploy to two independent artifactories based on whether the version of the project is a snapshot / release?

I'm hoping there might be a property which indicates the fact the version has -SNAPSHOT prepended, or perhaps the default artifactory to deploy to (which has been worked out based on the version number already).

I thought about using two different profiles and working out if its a snapshot in ant by parsing the pom.xml file, but I'd rather a cleaner solution if possible.

Currently, my deploy plugin looks as follows, but this just deploys to the release artifactory regardless of the version;

Many Thanks

0 投票
2 回答
2985 浏览

maven - 为什么 maven-deploy-plugin 无法解析我的自定义系统属性?

我正在使用 gmaven-plugin在我的 POM中设置自定义系统属性。这似乎可行,因为我能够使用 maven-antrun-plugin 成功地回显该属性;但是,maven-deploy-plugin 似乎完全不知道该属性并且无法解决它。

POM的相关部分:

当我使用 运行它时mvn clean install deploy:deploy-file,我收到以下错误:

为什么 maven-antrun-plugin 能够解析我的自定义系统属性,而 maven-deploy-plugin 不能?