6

我正在尝试使用 Maven 生成用于在 Vignette Portal 上部署的工件。打包与工件完全相同,war但文件应具有car扩展名。

我尝试过但无法完成的选项。

  • 使用 war 插件并重命名最终工件(不断添加 .war 扩展名)
  • 使用带有 zip 描述符的程序集插件(无法将 .zip 更改为 .car 扩展名)
  • 如此处所述创建一个新的打包类型不能为 .car 扩展名使用 war 插件)

哪个是生成 .car 文件的最简单的“Maven”方式?你能给我一些指导吗?

谢谢你。

4

1 回答 1

8

我认为不可能重命名项目的主要可交付工件。

无论如何,在过去,到目前为止,我所做的是让 maven 使用新名称复制文件,然后将其“附加”到构建的可交付成果;通过配置两个插件:

  • maven-ant-run复制
  • maven-build-helper附加以便与我的项目的主要工件一起部署到我的仓库。

    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-antrun-plugin</artifactId>
      <executions>
        <execution>
          <phase>package</phase>
            <configuration>
              <target>
                <copy file="${project.build.directory}/${project.build.finalName}.war"
                  tofile="${project.build.directory}/${project.build.finalName}.car" />
              </target>
            </configuration>
            <goals>
             <goal>run</goal>
            </goals>
          </execution>
        </executions>
    </plugin>
    

第二个:

    <plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>build-helper-maven-plugin</artifactId>
  <executions>
        <execution>
          <id>attach-instrumented-jar</id>
            <phase>verify</phase>
              <goals>
                <goal>attach-artifact</goal>
              </goals>
      <configuration>
                <artifacts>
                  <artifact>
                    <file>${project.build.directory}/${project.build.finalName}.car</file>
                    <type>car</type>
                  </artifact>
                </artifacts>
              </configuration>
          </execution>
       </executions>
     </plugin>

我希望这可以帮助你。至少在你找到更好的解决方案之前。

于 2011-06-19T07:55:18.823 回答