当前位置: 首页 > 知识库问答 >
问题:

部署两次或根本不部署

巫马望
2023-03-14

我成功地构建了一个Maven项目,使得发布部署工件要么加倍,要么根本不发布。

由于该项目使用了我们公司的抽象父pom,所以发布相关代码有点困难,但我会尝试的。

先做重要的事.父pom具有以下定义:

  <plugin>
    <artifactId>maven-deploy-plugin</artifactId>
    <version>2.8.2</version>
    <configuration>
      <deployAtEnd>true</deployAtEnd>
    </configuration>
  </plugin>

在实际项目中没有定义任何内容,发布将在以下行之后失败:

[INFO] [INFO] Uploaded to our_repo: http://acme.org/nexus/content/repositories/org.acme.project/1.0.0/org.acme.project-1.0.0-sources.jar (14 kB at 3.8 kB/s)
[INFO] [INFO] Uploading to our_repo: http://acme.org/nexus/content/repositories/org.acme.project/1.0.0/org.acme.project-1.0.0-sources.jar

我们的repo不喜欢有两个版本相同的释放罐,所以一切都失败了。这里奇怪的地方是部署没有在最后。事实上,项目构建中途失败。

但是,如果我在项目中复制了上面的插件,那么构建将在同一位置打印deployingrepo:org.acme.repo:1.0.0atend,然后不在末尾部署anothing。

但我甚至不确定这是问题的一部分。不过,我认为无论插件定义在哪里,这两个构建都应该完全相同。

    <plugin>
      <artifactId>maven-source-plugin</artifactId>
      <version>3.0.1</version>
      <executions>
        <execution>
          <id>attach-sources</id>
          <goals>
            <goal>jar-no-fork</goal>
          </goals>
          <configuration>...</configuration>
        </execution>
      </executions>
    </plugin>

这可能与我们使用Java10或Maven3.5.2有关,尽管我真的不知道测试什么和在哪里进行。

我该怎么解决这个烂摊子?(如果您想了解更多关于构建的信息,只需询问。pom.xml非常适合在这里共享它们。)

共有1个答案

酆耀
2023-03-14

在这个问题的启发下,我尝试禁用发布概要文件,现在它以某种方式起作用了。我无法对这种行为做出任何解释。

用于删除发布配置文件得代码段:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <configuration>
                <useReleaseProfile>false</useReleaseProfile>
            </configuration>
        </plugin>
 类似资料:
  • 问题内容: 我们在hudson上使用了Maven发布插件,并试图实现发布过程的自动化。发布:准备工作正常。当我们尝试执行release:perform时,它会失败,因为它尝试将源工件两次上载到存储库。 我尝试过的事情 从超级pom中删除确实包含maven源插件的配置文件(不起作用) 在hudson上将发布目标指定为-P!attach-source release:prepare release:p

  • 使用自动化脚本,一个命令来上一节中的所有操作。 自动化创建和更新 gh-pages 所以,我们采用一个 npm 包,来帮助我们完成上面的操作 cd my-note/ npm i gh-pages 然后创建 my-note/scripts/deploy-gh-pages.js 里面的内容是: 'use strict'; var ghpages = require('gh-pages'); ma

  • 本规范定义了一个用于部署和打包用途的,可存在于开放文件系统、归档文件或一些其他形式中的层次结构。建议 servlet 容器支持这种结构作为运行时表示形式,但不是必须的.

  • 我们终于准备好向全世界展示我们的应用程序了。是时候要部署。这个过程可能是痛苦的因为有许多琐碎的事情要去做。当涉及到生产环境的搭建以及服务器的配置方案,这是有很多的选择需要做出。在本章中,我们会讨论一些重要的部分以及一些我们可能会用到的选项(关于主机或者服务器的搭建方式等等)。 主机 首先我们需要一台服务器。现在有成千上万的服务器供应商,但是我个人建议的有三家。我不打算在这里介绍如何开始使用它们的细

  • 默认方案 umi@2 默认对新手友好,所以默认不做按需加载处理,umi build 后输出 index.html、umi.js 和 umi.css 三个文件。 不输出 html 文件 某些场景 html 文件交给后端输出,前端构建并不需要输出 html 文件,可配置环境变量 HTML=none 实现。 $ HTML=none umi build 部署 html 到非根目录 经常有同学问这个问题:

  • 3.6 部署 本节介绍如何部署Nginx配置文件。 3.6.1 Nginx配置文件组成方式 我们是这样管理Nginx文件的: 在Nginx服务器上,nginx/conf目录下,建立了一个phoenix-slb目录。该目录下存放着由Camel管理的站点配置文件。 每个站点对应着一个单独的文件夹,文件夹下有一个server.conf,存放着本站点的配置。 假设有两个站点a.liyang.com,b