←フエルチラシノウラ。トップページへもどる。

【GWT】maven2なGWTプロジェクトのサンプル。【Java】

GWT GoogleWebToolkit maven2 Java プロジェクト サンプル デプロイ コンパイル maven-googlewebtoolkit2-plugin

【GWT】maven2なGWTプロジェクトのサンプル。【Java】

説明


maven2に対応したGWTプロジェクトのサンプルです。
今回は、sampleというパッケージでAppというアプリを作ります。
プロジェクト名は GWT-sample としました。

※注意
maven2がインストールされていることが前提です。
gwt用のmavenプラグインには maven-googlewebtoolkit2-plugin を利用しています。


フォルダ構成


こちらが今回のプロジェクトの全て。
GWT-sample
 ┣src
 ┃┗main
 ┃  ┣java
 ┃  ┃ ┗sample
 ┃  ┃   ┣App.gwt.xml
 ┃  ┃   ┣client
 ┃  ┃   ┃ ┗App.java
 ┃  ┃   ┗public
 ┃  ┃     ┣App.html
 ┃  ┃     ┗App.css
 ┃  ┗webapp
 ┃    ┗WEB-INF
 ┃      ┗web.xml
 ┣target
 ┗pom.xml


以下の3つのフォルダはmavenなWebアプリケーションプロジェクトの標準構成。

/src/main/java/*
/src/main/webapp/*
/target/*
/pom.xml



"/src/main/java" 配下の構成はGWTアプリのお決まり。

パッケージ名/アプリ名.gwt.xml
パッケージ名/client/アプリ名.java
パッケージ名/public/アプリ名.html
パッケージ名/public/アプリ名.css




ファイルの中身


pom.xml


<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>jp.boy.goodjob</groupId>
<artifactId>GWT-sample</artifactId>
<packaging>war</packaging>
<name>GWT-sample</name>
<version>1.0.0</version>
<url>http://code.google.com/p/gwtsamples/</url>
<build>
<finalName>sampleapp</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0</version>
<configuration>
<encoding>UTF-8</encoding>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.0</version>
<configuration>
<webXml>target/web.xml</webXml>
</configuration>
</plugin>
<plugin>
<groupId>com.totsp.gwt</groupId>
<artifactId>maven-googlewebtoolkit2-plugin</artifactId>
<version>2.0-SNAPSHOT</version>
<executions>
<execution>
<goals>
<goal>mergewebxml</goal>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<fork>true</fork>
<runTarget>sample.App/App.html</runTarget>
<compileTarget>
<value>sample.App</value>
</compileTarget>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>ibiblio</id>
<url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>gwt-maven</id>
<url>
http://gwt-maven.googlecode.com/svn/trunk/mavenrepo
</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>1.4.60</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-servlet</artifactId>
<version>1.4.60</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-plugin-descriptor</artifactId>
<version>2.0.7</version>
</dependency>
</dependencies>
</project>


App.gwt.xml


<module>
<inherits name='com.google.gwt.user.User' />

<!-- エントリーポイント: パッケージ名.client.アプリ名 -->
<entry-point class='sample.client.App' />

<!-- スタイルシート -->
<stylesheet src='App.css' />
</module>


App.html


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script language='javascript' src='sample.App.nocache.js'></script>
<title>ハローワールド</title>
</head>
<body>
<div id="slot1"></div>
</body>
</html>


App.java


package sample.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;

public class App implements EntryPoint {

/**
* 最初にここが呼び出される。
*/
public void onModuleLoad() {
// ラベルコンポーネントを作成
Label label = new Label("ハローワールド");
// App.html の id="slot1" なタグのある場所にコンポーネントが挿入されます。
RootPanel.get("slot1").add(label);
}
}



web.xml


今回のプロジェクトはwebサーバの設定に依存しないのでweb.xmlは適当でOKですが一応載せておきます。
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
</web-app>



mavenでコンパイル&実行


以下のコマンドでコンパイル&実行が可能。
mvn gwt:gwt

gwtのブラウザが正常に開いて「ハローワールド」と表示されていれば成功。
コンパイル&実行されたjavascriptやhtmlなどは target/sampleapp/ の下に出来上がっています。
それらはそのままWebサーバにコピーすれば公開できます。


参考


GWTのチラシノウラ。
Google Web Toolkit 公式ページ

http://goodjob.boy.jp/chirashinoura/id/180.html

作成日: 2008-03-25 22:12:04

最終更新日: 2008-03-26 14:48:54

▲このページの上へ