FaqMavenAntTasksJa

Maven Ant タスクをつかって Maven リポジトリからプロジェクトのライブラリをダウンロードできますか?

はい、可能です。ただしそのためにはいくつかの設定ファイルを編集する必要があります。(IDE の GUI では直接サポートしていません) 以下を試してください:

1. Maven Ant タスクをダウンロード

http://maven.apache.org/download.html (この FAQ エントリは 2.0.7 でテストしています)

2. 新しい Java アプリケーションプロジェクトを作成します。

3. Maven POM ファイル pom.xml を作成します。できればプロジェクトの nbproject に作成してください。他のメタデータなどが保存される場所です。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" 
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>com.mycompany.project</groupId>
  <artifactId>project-model</artifactId>
  <version>1.0-SNAPSHOT</version>

  <dependencies>
    <dependency>
      <groupId>commons-http</groupId>
      <artifactId>commons-http</artifactId>
      <version>1.1</version>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>servlet-api</artifactId>
      <version>2.4</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
</project>


構文は Alt-Shift-F9 で検証できます。

4. build.xml にカスタムロジックを追加します:

<project name="JavaApplicationUsingMavenAntTask" default="default" basedir="."
         xmlns:artifact="urn:maven-artifact-ant">
    <description>Builds, tests, and runs the project JavaApplicationUsingMavenAntTask.</description>
    <import file="nbproject/build-impl.xml"/>
    
    <path id="maven-ant-tasks.classpath" path="nbproject/maven-ant-tasks-2.0.7.jar" />
    <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant"
           classpathref="maven-ant-tasks.classpath" />  
           
    <target name="-maven-retrieve">
        <artifact:pom file="${basedir}/nbproject/pom.xml" id="maven.project"/>
        <artifact:dependencies fileSetId="maven-ant-tasks.dependency.fileset">
              <pom refid="maven.project"/>
        </artifact:dependencies>
        <pathconvert property="maven-ant-tasks.dependency.path" dirsep="/" pathsep=":">
            <path>
                <fileset refid="maven-ant-tasks.dependency.fileset"/>
            </path>
        </pathconvert>        
        <propertyfile file="nbproject/project.properties">
            <entry operation="=" key="maven.dependency.classpath" value="${maven-ant-tasks.dependency.path}"/>
        </propertyfile>
    </target>
    <target name="-pre-compile" depends="-maven-retrieve"/>
    <target name="-pre-compile-single" depends="-maven-retrieve"/>

スクリプトのスニペットは POM ファイルと maven-ant-tasks jar ファイルが nbproject サブディレクトリに配置されていることを想定しています。これで自動的に cvs あるいは subversion の jar ファイル保存します。バージョン管理外の Ant タスクを用意したい場合にはスクリプトをそのように変更してください。( Ivy FAQ エントリ を参照)

POM の Maven 依存モジュールを IDE に認識させるには、project.properties をスクリプトから変更する必要があります。これは POM ファイルが変更された時には再構築が必要になります。そうしないと IDE にクラスがありませんというエラーが出ることになります。

5. Maven Ant タスクの追加構成については、 Apache Maven Webサイト を参照してください。

j2se プロジェクトのFile:JavaApplicationUsingMavenAntTask.zip サンプルを添付します。


Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo