用法

Maven 1 到 Maven 2 的转换

如果您将项目从 Maven 1 移动到 Maven 2,您可以从 Maven One 插件中获得一些帮助。它可以将您项目的project.xmlproject.properties转换为pom.xml。为此,请切换到project.xml文件所在的目录并在命令行上发出以下命令:

mvn one:convert

这个目标使用maven-model-converter不仅可以转换您的项目模型,它还具有用于许多插件和转换器的配置的重定位器。因此,如果您有一些 Maven 1 jar-plugin 的配置属性,转换器将尝试在您的新pom.xml中为 Maven 2 jar-plugin 创建合适的配置部分。您需要在pom.xml创建后查看插件的版本,因为版本可能与 Maven 1 插件的版本不同。

Maven 1.x 插件打包

要使用 Maven 2.x 打包 Maven 1.x 插件,您需要在构建部分包含 Maven One 插件并使用maven-one-plugin打包。像这样:

<project>
  ...
  <packaging>maven-one-plugin</packaging>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-one-plugin</artifactId>
        <version>1.3</version>
        <extensions>true</extensions>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

Maven 1.x 本地存储库安装

要将您的工件安装到本地 Maven 1.x 存储库中,您可以使用<executions>将生命周期绑定添加到您的 POM :

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-one-plugin</artifactId>
        <version>1.3</version>
        <executions>
          <execution>
            <goals>
              <goal>install-maven-one-repository</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

注意:在构建 Maven 1.x 插件的情况下,插件部分可以与上面的部分共享。

这将从~/build.properties读取本地存储库位置,默认为~/.maven/repository

Maven 1.x 远程仓库部署

要将您的工件部署到额外的远程 Maven 1.x 存储库中,您需要将生命周期绑定添加到您的 POM。此配置会将您的工件部署到 Apache 的 Maven 1.x 存储库:

<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-one-plugin</artifactId>
        <version>1.3</version>
        <executions>
          <execution>
            <configuration>
              <remoteRepositoryUrl>scp://people.apache.org/repository</remoteRepositoryUrl>
            </configuration>
            <goals>
              <goal>deploy-maven-one-repository</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      ...
    </plugins>
  </build>
  ...
</project>

这不会从 Maven 1.x 属性中读取任何设置,因此 URL 是必需的。

如果您在settings.xml文件中配置服务器设置,请使用mavenOneRemoteRepository的 ID 。这可以使用remoteRepositoryId配置元素覆盖。

有关详细信息,请参阅目标参考