ログ日記

作業ログと日記とメモ

Mavenの設定(途中)

「ヘルプ」→「新規ソフトウェアのインストール」から
http://q4e.googlecode.com/svn/trunk/updatesite-iam/
を指定して、全部にチェックを入れてインストール。かなり時間がかかる。



プロジェクトの右クリックメニューから「Maven 2」→「Convert to Maven Project」を実行する。エラーが出るので修正。


ディレクトリー構成はGWTプラグインデフォルトの /src、/war にした。
pom.xmlが長い…設定に疲れた。
src/app.dicon が war/WEB-INF/classes/ にコピーされなくなった。元々 src/iconや*.txtのファイルが自動的にwar/WEB-INF/classesにコピーされていたのはどこの設定なんだろうか…。


http://googlewebtoolkit.blogspot.com/2010/08/how-to-use-google-plugin-for-eclipse.html
http://mojo.codehaus.org/gwt-maven-plugin/
ここを参考にしたんだけども、どうもやりづらい。


取り敢えず現状の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>com.example</groupId>
  <artifactId>MyApp</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>MyApp</name>
  <url>http://maven.apache.org</url>
  <repositories>
        <repository>
                <releases>
                        <enabled>true</enabled>
                </releases>
                <snapshots>
                        <enabled>true</enabled>
                </snapshots>
                <id>maven.seasar.org</id>
                <name>The Seasar Foundation Maven2 Repository</name>
                <url>http://maven.seasar.org/maven2</url>
        </repository>
        <repository>
                <releases>
                        <enabled>true</enabled>
                </releases>
                <snapshots>
                        <enabled>true</enabled>
                </snapshots>
                <id>maven-snapshot.seasar.org</id>
                <name>The Seasar Foundation Maven2 Snapshot Repository</name>
                <url>http://maven.seasar.org/maven2-snapshot</url>
        </repository>
  </repositories>
  <pluginRepositories>
        <pluginRepository>
                <releases>
                        <enabled>true</enabled>
                </releases>
                <snapshots>
                        <enabled>false</enabled>
                </snapshots>
                <id>maven.seasar.org</id>
                <name>The Seasar Foundation Maven2 Repository</name>
                <url>http://maven.seasar.org/maven2</url>
        </pluginRepository>
  </pluginRepositories>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-servlet</artifactId>
        <version>${gwt.version}</version>
        <scope>compile</scope>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-user</artifactId>
        <version>${gwt.version}</version>
        <scope>provided</scope>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>org.seasar.container</groupId>
        <artifactId>s2-framework</artifactId>
        <version>2.4.43</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>org.seasar.container</groupId>
        <artifactId>s2-extension</artifactId>
        <version>2.4.43</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>org.seasar.container</groupId>
        <artifactId>s2-tiger</artifactId>
        <version>2.4.43</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>org.seasar.container</groupId>
        <artifactId>s2jdbc-gen</artifactId>
        <version>2.4.43</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>postgresql</groupId>
        <artifactId>postgresql</artifactId>
        <version>8.4-702.jdbc4</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.5</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-annotation_1.0_spec</artifactId>
        <version>1.0</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-ejb_3.0_spec</artifactId>
        <version>1.0</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-interceptor_3.0_spec</artifactId>
        <version>1.0</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-j2ee_1.4_spec</artifactId>
        <version>1.0</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jpa_3.0_spec</artifactId>
        <version>1.0</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jta_1.1_spec</artifactId>
        <version>1.0</version>
        <optional>false</optional>
    </dependency>
    <dependency>
        <groupId>aopalliance</groupId>
        <artifactId>aopalliance</artifactId>
        <version>1.0</version>
        <optional>false</optional>
    </dependency>
  </dependencies>
  <build>
        <sourceDirectory>src</sourceDirectory>
        <testSourceDirectory>test</testSourceDirectory>
        <outputDirectory>war/WEB-INF/classes</outputDirectory>
        <defaultGoal></defaultGoal>
        <resources>
                <resource>
                        <targetPath></targetPath>
                        <filtering>false</filtering>
                        <directory>src</directory>
                        <includes>
                                <include>*.dicon</include>
                        </includes>
                </resource>
        </resources>
        <finalName>MyApp</finalName>
        <plugins>
                <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>gwt-maven-plugin</artifactId>
                        <version>1.1</version>
                        <extensions>false</extensions>
                        <executions>
                                <execution>
                                        <id></id>
                                        <phase></phase>
                                        <inherited>false</inherited>
                                        <goals>
                                                <goal>compile</goal>
                                        </goals>
                                </execution>
                        </executions>
                        <configuration>
                                <runTarget>com.example.myapp/MyApp.gwt.xml</runTarget>
                        </configuration>
                        <inherited>false</inherited>
                </plugin>
                <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-war-plugin</artifactId>
                        <version>2.0.2</version>
                        <configuration>
                                <warSourceDirectory>war</warSourceDirectory>
                                <webXml>war/WEB-INF/web.xml</webXml>
                        </configuration>
                        <extensions>false</extensions>
                        <inherited>false</inherited>
                </plugin>
        </plugins>
  </build>
  <properties>
        <gwt.version>2.0.4</gwt.version>
  </properties>
  <modules>
  </modules>
</project>

まだ途中。ちゃんと動いてない。



http://www.gwtnow.com/2008/09/13/gwt-maven2-and-eclipse-living-happily-together-part-1/
こっちも別のやり方?の説明があった。こっちの考え方の方が合ってるかも。
http://www.kanasansoft.com/weblab/2009/11/integration_between_maven_and_github.html
gitとの連携。


連携、設定が多くて挫折するかも。Java&Git、MavenGWTでそれぞれ文化圏が違うのかな?
デプロイの方法からもう一度考え直した方がいいかもしれない。CSSやHTMLでちょっとデザインを変えただけの場合とか、プロジェクト全体をアップするのは嫌だしなぁ。スクリプト言語のようにgitのreceive-hookでやるか…。
TomcatのHot Deployがオフの場合はリロードも必要なので
http://www.javaroad.jp/opensource/js_ant3.htm
コミット - デプロイはgitでやりつつ再起動はEclipseから…うーむ。
大抵はLinux上で開発してるけどWindowsのことを考えたら全部Eclipseから出来た方がいいのかな。XML設定ファイルなんか書かなくてもシェルならGETリクエストを送るだけだよね…なんか簡単なことを複雑に考えてる気がしてきた。