2

私はMavenが初めてで、プロジェクトでいくつかの問題に直面しています。Maven 1 プロジェクトを Maven 2 に変換します。

私はこれらのファイルから始めました:

  • maven.xml -- カスタム ビルド スクリプトが含まれています
  • project.properties -- 一般的なビルド設定
  • project.xml -- プロジェクト オブジェクト モデル (POM) の定義

私の理解では、Maven 2 プロジェクトでは、これらのファイルを次の場所に移動する必要があります。

  • pom.xml -- POM 定義
  • (そしておそらく) settings.xml -- ローカル構成

コマンド'mvn one:convert'を使用してこれを行いました。

これは project.xml > pom.xml を処理するようでした

次に、 pom.xml に a を追加して project.properties を含めました(これは機能しているように見えました)。

私が残したのは maven.xml >> pom.xml の内容を転送することだけだと思いますか?

maven.xml は次で始まります。

<project default="site_deploy"
     xmlns:ant="jelly:ant"
     xmlns:maven="jelly:maven"
     xmlns:j="jelly:core"
     xmlns:util="jelly:util">

    <ant:property environment="env"/>

次のような目標が含まれています。

<goal name="site_deploy">
    <attainGoal name="clean"/>
    <attainGoal name="clean:clean"/>
    <ant:delete dir="${maven.src.dir}/core/target" />
    <attainGoal name="core_deploy"/>
</goal>

<goal name="core">
    <maven:maven
        descriptor="core/project.xml"
        goals="jar:install"/>
      <ant:property name="m2Dir" value="${maven.repo.local}/../../.m2/repository/app/${application.version}"/>
      <ant:property name="m1Path" value="${maven.repo.local}/${application.id}/jars/${application.id}-core-${application.version}.jar"/>
      <ant:echo message="copying jar m1 to m2 (${m1Path}) to (${m2Dir})" />
      <ant:mkdir dir="${m2Dir}"/>
      <ant:copy todir="${m2Dir}" file="${m1Path}" />
</goal>

私の読書によると、ビルド フェーズにバインドされていない場合、ゴールは直接呼び出しによってビルド ライフサイクルの外部で実行できます。2 つ目の方法は、ゴール用のプラグインを作成することです。

目標に依存関係があるかどうかを特定するにはどうすればよいでしょうか? プラグインを作成するにはどうすればよいでしょうか? 私は主に apache.org の Maven ガイドを参照してきましたが、理解するのが難しいものもあります。

生成された pom ファイルは次のとおりです。

<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>${application.id}</groupId>
  <artifactId>${application.artifact}</artifactId>
  <version>${application.version}</version>
  <name>${application.name}</name>
  <inceptionYear>2007</inceptionYear>
  <organization>
    <name>OrganizationName</name>
    <url>http://organization.url</url>
  </organization>
  <scm>
    <connection>scm:svn:connection</connection>
    <url>http://svn.organization.local/svn/trunk/application_name</url>
  </scm>
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <reporting>
    <plugins>
      <plugin>
        <artifactId>maven-changes-plugin</artifactId>
        <configuration>
          <xmlPath>${basedir}/xdocs/changes.xml</xmlPath>
        </configuration>
      </plugin>
    </plugins>
  </reporting>
</project>
4

0 に答える 0