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