myeclipse web project pom xml説明


以下はmyeclipseで自動的に作成されたwebプロジェクトです。mavenサポートを選択した後、自動的に生成されたpom.xmlコードにチェックします。
 
<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>mavenwebproject</groupId>
  <artifactId>mavenwebproject</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name/>
  <description/>
  <dependencies>
    <dependency>
      <groupId>org.apache.openejb</groupId>
      <artifactId>javaee-api</artifactId>
      <version>5.0-1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.faces</groupId>
      <artifactId>jsf-api</artifactId>
      <version>1.2_04</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.faces</groupId>
      <artifactId>jsf-impl</artifactId>
      <version>1.2_04</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
  <build>
    <sourceDirectory>${basedir}/src</sourceDirectory>
    <outputDirectory>${basedir}/WebRoot/WEB-INF/classes</outputDirectory>
    <resources>
      <resource>
        <directory>${basedir}/src</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
    </resources>
    <plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <webappDirectory>${basedir}/WebRoot</webappDirectory>
          <warSourceDirectory>${basedir}/WebRoot</warSourceDirectory>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>	
セグメントの説明の下で:
 
  <modelVersion>4.0.0</modelVersion>
  <groupId>mavenwebproject</groupId>
  <artifactId>mavenwebproject</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
 
 GAVパッケージタイプは、何も言いません。
 
 
<dependencies>
    <dependency>
      <groupId>org.apache.openejb</groupId>
      <artifactId>javaee-api</artifactId>
      <version>5.0-1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.faces</groupId>
      <artifactId>jsf-api</artifactId>
      <version>1.2_04</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <version>2.1</version>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>javax.faces</groupId>
      <artifactId>jsf-impl</artifactId>
      <version>1.2_04</version>
      <scope>provided</scope>
    </dependency>
  </dependencies>
 
 warバッグに必要な一般的な依存性は、そのprovided構成に注意してください。
 
 
 書き記す
POM 4では、<dependency>にも<scope>が導入されており、それは主に依存する配置を管理している。現在のは5つの値を使用できます。
*comppile、デフォルト値は、すべての段階に適用され、プロジェクトと一緒に発表されます。
*providedは、compleのようなもので、JDK、容器または使用者にこの依存を提供することを期待しています。servlet.jarのようです
*runtimeは、JDBCドライバなどの運転時のみ使用し、運転とテスト段階を適用します。
*testは、試験時のみ使用し、試験コードのコンパイルと実行に使用します。プロジェクトに従って発表されません。
*systemはprovidedのように、明示的に依存を含むjarを提供する必要があります。MavenはRepositoryで検索しません。
 
 包装はwarカバンに入らないです。
 
    <sourceDirectory>${basedir}/src</sourceDirectory>
    <outputDirectory>${basedir}/WebRoot/WEB-INF/classes</outputDirectory>
 
 
以下はmvn公式説明文書から抜粋します。
 
 書き記す
ソースの位置をカスタマイズしたいなら、構成を変更することもできます。プロジェクトのソースコードを保存したいなら
src/javaにsrc/main/javaではなく、clasesに出力するようにします。
スーパーPOMにおけるsourceDirectoryのデフォルト値を定義します。
<build>

<sourceDirectory>src/java</sourceDirectory>
<out put Directory>clases


  
 
そして、resource:
<resources>
      <resource>
        <directory>${basedir}/src</directory>
        <excludes>
          <exclude>**/*.java</exclude>
        </excludes>
      </resource>
    </resources>
 
公式文書からの例も同じです。
 書き記す
リソースディレクトリは必ずSrc/main/resourceにあるわけではありません。これは定義です
スーパーPOMのデフォルト値。あなたも気づくはずです。あなたのすべてのリソースを個別のディレクトリに統合する必要がないです。
にあります。Src/mainディレクトリ内の独立したディレクトリにリソースを分離することができます。いくつかの項目が含まれていると仮定します。
このXML文書と数百の画像があります。二つのディレクトリsrc/main/xmlとsrc/main/margsを作成したいかもしれません。
これらの内容をsrc/main/resourceディレクトリに混合するのではなく格納します。リソースディレクトリの列を追加するために
表には、あなたの構成に次のようなレスポンス要素を加える必要があります。
例 10.7. 追加のリソースディレクトリを設定
<build>

<レスポンス>
<レスポンス>
<directory>src/main/reource

<レスポンス>
<directory>src/main/xml

<レスポンス>
<directory>src/main/margs




 そして最後のピース:
<plugins>
      <plugin>
        <artifactId>maven-war-plugin</artifactId>
        <configuration>
          <webappDirectory>${basedir}/WebRoot</webappDirectory>
          <warSourceDirectory>${basedir}/WebRoot</warSourceDirectory>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.5</source>
          <target>1.5</target>
        </configuration>
      </plugin>
    </plugins>
 第二のプラグインの設定はもちろん、前に紹介されました。
 
 書き記す
Mavenは、Maven-war-pluginプラグインを使用してWebエンジニアリングに対してwarファイルを作成します。本論文ではカスタムディレクトリ構造を使用しているので、Maven-war-pluginはウェブプロジェクトのWeb Rootディレクトリを見つけることができない(デフォルトはSrc/main/webapp)ので、プラグインを適切に配置する必要がある。warSourceDirectoryはWebエンジニアリングのWeb Rootディレクトリであり、ここではwebappDirectoryはwarファイルを作る前に、かなり開いていたwarファイルのルートディレクトリです。