DoltengとMaven2とSubversionの連携(4)
(時間経過に伴い、現在は以下の手順等が変更・洗練されています。最新の情報はサポートwikiにてご確認下さい。)
以下のエントリー、ガンガン編集しています。一度読まれた方も、宜しければもう一度ご覧下さい。
編集pom.xml
Doltengで自動生成されたpom.xmlは、以下のように編集します。これにより以下の事を行っています。
- source&target(出力)フォルダの整備
- Seasar系のバージョンアップ
- s2-frameworkをv2.4.12に
- teedaをv1.0.6に
- s2-daoをv1.0.42に
- 開発インフラに対応
- Flex Data Service対応*2
<?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>jp.xet.cepoc</groupId> <artifactId>cepoc</artifactId> <packaging>war</packaging> <name>Cepoc</name> <version>0.0.1</version> <issueManagement> <system>Trac</system> <url>http://develop/trac/cepoc/</url> </issueManagement> <ciManagement> <system>continuum</system> <url>http://develop:8080/continuum/</url> <notifiers> <notifier> <type>mail</type> <configuration> <!-- continuumによってビルド結果が通知されるアドレスを指定 --> <address>hoge@example.com</address> </configuration> </notifier> </notifiers> </ciManagement> <scm> <connection>scm:svn:http://develop/svn/cepoc/trunk/cepoc/</connection> <developerConnection>http://develop/svn/cepoc/trunk/cepoc/</developerConnection> <url>http://develop/svn/cepoc/trunk/cepoc/</url> </scm> <build> <outputDirectory>src/main/webapp/WEB-INF/classes</outputDirectory> <defaultGoal>validate</defaultGoal> <resources> <resource> <directory>src/main/resources</directory> </resource> <resource> <directory>src/main/webapp/view</directory> </resource> <resource> <directory>work</directory> </resource> </resources> <testResources> <testResource> <directory>src/test/resources</directory> </testResource> </testResources> <finalName>cepoc</finalName> <pluginManagement> <plugins> <plugin> <artifactId>maven-eclipse-plugin</artifactId> <configuration> <wtpversion>1.5</wtpversion> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>source-jar</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.seasar.container</groupId> <artifactId>diigu-maven-plugin</artifactId> <version>1.0.0</version> <executions> <execution> <goals> <goal>enhance</goal> <!-- テストコードがない場合はtestEnhanceを外すこと --> <goal>testEnhance</goal> </goals> </execution> </executions> <configuration> <verbose>true</verbose> <encoding>UTF-8</encoding> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <version>1.0-SNAPSHOT</version> <configuration> <server>tomcat</server> <url>http://www:8080/manager</url> </configuration> </plugin> </plugins> </build> <repositories> <repository> <id>local</id> <name>Local Repository</name> <url>file:repo</url> </repository> <repository> <id>cvs.apache.org</id> <name>cvs.apache.org</name> <url>http://cvs.apache.org/repository/</url> </repository> <repository> <id>maven.seasar.org</id> <name>The Seasar Foundation Maven2 Repository</name> <url>http://maven.seasar.org/maven2</url> </repository> <repository> <releases> <enabled>false</enabled> </releases> <snapshots /> <id>Maven Snapshots</id> <url>http://snapshots.maven.codehaus.org/maven2/</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>maven.seasar.org</id> <name>The Seasar Foundation Maven2 Repository</name> <url>http://maven.seasar.org/maven2</url> </pluginRepository> <pluginRepository> <releases> <enabled>false</enabled> </releases> <snapshots /> <id>Maven Snapshots</id> <url>http://snapshots.maven.codehaus.org/maven2/</url> </pluginRepository> </pluginRepositories> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.2</version> <scope>compile</scope> </dependency> <dependency> <groupId>junit-addons</groupId> <artifactId>junit-addons</artifactId> <version>1.4</version> <scope>compile</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.13</version> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jsp_2.0_spec</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-servlet_2.4_spec</artifactId> <version>1.0</version> </dependency> <!-- 以下のgeronimoの要否は、Tomcatにおいてs2-framework, s2-extension, s2-tigarを使用する場合を前提。 詳細は http://s2container.seasar.org/ja/setup.html にて。 --> <!--S2JTA,S2Txを使う場合必要 --> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jta_1.1_spec</artifactId> <version>1.0</version> </dependency> <!-- S2Tigerを使う場合必要 --> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-ejb_2.1_spec</artifactId> <version>1.0</version> </dependency> <!-- Tomcat5.5の場合必要、6では不要 --> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-annotation_1.0_spec</artifactId> <version>1.0</version> </dependency> <!-- Tomcatの場合必要 --> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-ejb_3.0_spec</artifactId> <version>1.0</version> </dependency> <!-- EJB3を使う場合必要 <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-interceptor_3.0_spec</artifactId> <version>1.0</version> </dependency> --> <!-- Tomcat5.5では必要、Tomcat6でJPAを使う場合必要 --> <dependency> <groupId>org.apache.geronimo.specs</groupId> <artifactId>geronimo-jpa_3.0_spec</artifactId> <version>1.0</version> </dependency> <!-- 以下3つは、Flex Data Serviceを使用しない場合は不要 --> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.1</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>20041127.091804</version> </dependency> <dependency> <groupId>commons-httpclient</groupId> <artifactId>commons-httpclient</artifactId> <version>20020423</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>concurrent</groupId> <artifactId>concurrent</artifactId> <version>1.3.4</version> </dependency> <dependency> <groupId>org.seasar.container</groupId> <artifactId>s2-extension</artifactId> <version>2.4.12</version> </dependency> <dependency> <groupId>org.seasar.container</groupId> <artifactId>s2-framework</artifactId> <version>2.4.12</version> </dependency> <dependency> <groupId>org.seasar.container</groupId> <artifactId>s2-tiger</artifactId> <version>2.4.12</version> </dependency> <dependency> <groupId>org.seasar.container</groupId> <artifactId>diigu-core</artifactId> <version>1.0.0</version> </dependency> <dependency> <groupId>org.seasar.teeda</groupId> <artifactId>teeda-extension</artifactId> <version>1.0.6</version> </dependency> <dependency> <groupId>org.seasar.teeda</groupId> <artifactId>teeda-ajax</artifactId> <version>1.0.6</version> </dependency> <dependency> <groupId>org.seasar.teeda</groupId> <artifactId>teeda-tiger</artifactId> <version>1.0.6</version> </dependency> <dependency> <groupId>org.seasar.teeda</groupId> <artifactId>teeda-xmlunit</artifactId> <version>0.1.0</version> </dependency> <dependency> <groupId>org.seasar.dao</groupId> <artifactId>s2-dao</artifactId> <version>1.0.42</version> </dependency> <dependency> <groupId>org.seasar.dao</groupId> <artifactId>s2-dao-tiger</artifactId> <version>1.0.42</version> </dependency> <dependency> <groupId>org.seasar.flex2</groupId> <artifactId>s2-flex2</artifactId> <version>1.0.1</version> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.0.20061217</version> </dependency> </dependencies> </project>
*2:使わないのであれば、dependencyのcommons-codec, commons-httpclient, concurrentは不要。