【问题标题】:adding ## to maven 3 artifact name for tomcat 7 parallel deployment将## 添加到 maven 3 工件名称以进行 tomcat 7 并行部署
【发布时间】:2013-09-19 10:32:02
【问题描述】:

我在这个论坛上阅读了很多答案,所以希望我能问一些问题。 最近我们迁移到 Tomcat 7,通常的程序是从 Nexus 存储库中获取一个 war 文件,将其粘贴到 Tomcat webapps 目录中并启动服务器并使用它。 但是由于 Nexus 中的 war 文件工件名称是 my-app-war-1.0.war 在 tomcat 中的上下文路径,这不是预期的。我知道这可以通过 context.xml 进行配置,但我想知道是否有办法将 ## 添加到部署在 Nexus 中的工件名称中。

我尝试更改 @{project.build.finalName} 但它只更改目标目录中的工件名称,maven deploy 插件仍然使用 artifactId,即“my-app-war”。所以 Nexus 中的工件最终成为 'my-app-war-1.0.war' 由于 maven 中的 artifactId 具有非常严格的结构,并且在那里不允许使用 ## 我想知道将 ## 添加到工件名称的正确方法是什么,因为我们很可能会考虑使用并行部署,所以我正在寻找启用此功能的方法。

我想我可以将同一个 war 文件的两个版本部署到 Nexus,其中一个的名称略有不同(带有##),但是重命名它并节省一些空间会更容易。我想知道当在 Tomcat 中实现并行命名功能时,如何将## 添加到应用程序名称中。

【问题讨论】:

    标签: java maven tomcat maven-deploy-plugin


    【解决方案1】:

    您可以使用maven-war-plugin<classifier> 配置。这样,您的 war 将被安装到名为 ${project.artifactId}-${project.version}-my-app-war.war 的存储库中

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <classifier>##my-app-war</classifier>
                </configuration>
            </plugin>
    

    【讨论】:

    • 这是一种将## 添加到工件名称的方法,但理想情况下我想在 ${project.version} 之前添加##
    【解决方案2】:

    问题是如果您包含在 maven 版本 ## 中,Nexus 会返回以下错误。

    Illegal character in fragment at index 103
    

    您可以通过将字符 ## 部署到 Apache7 来输入 &lt;path&gt; 以进行并行部署,如下所示:

    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <executions>
      <execution>
        <id>remote</id>
        <phase>deploy</phase>
        <goals>
          <goal>deploy</goal>
        </goals>
        <configuration>
          <mode>war</mode>
          <path>/${project.artifactId}-##${project.version}</path>
          <url>http://tomcat7.../manager/text</url>
          <username>user</username>
          <password>password</password>
          <update>true</update>
        </configuration>
      </execution>
    </executions>
    </plugin>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      相关资源
      最近更新 更多