Tapestry4.0
やっと手を出しました。チュートリアルを動かしてるんだけど、結構色々変わったのね。.applicationファイルにページをイチイチ登録しなくても
<meta key="org.apache.tapestry.page-class-packages" value="org.apache.tapestry.taplet.pages"/>
見たいに書くと、指定したパッケージのPageが登録されるのね。いや便利。Seasarとは違った方向だけどless configurationになってきてる。Wicketとかの影響もあるのかしらん。
で、チュートリアルを動かすのに、イチイチ細かい設定を自分でやりたくなかったんで、maven2にやってもらうのに、幾つかやることがあったんでメモっときます。
1.srcの下のcontextディレクトリをwebappに名前を変える。
2.srcの下にmainというディレクトリを作ってcontextとjava、confというディレクトリをmainの下に移動。
3.以下のような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>org.apache.jakarta.tapestry</groupId> <artifactId>helloworld</artifactId> <packaging>war</packaging> <version>4.0</version> <name>Tapestry4.0-helloworld</name> <url>http://jakarta.apache.org/tapestry/</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>easymock</groupId> <artifactId>easymock</artifactId> <version>1.1</version> <scope>test</scope> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.3</version> </dependency> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.0</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.0.4</version> </dependency> <dependency> <groupId>hivemind</groupId> <artifactId>hivemind</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>hivemind</groupId> <artifactId>hivemind-lib</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.0</version> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.8</version> </dependency> <dependency> <groupId>ognl</groupId> <artifactId>ognl</artifactId> <version>2.6.7</version> </dependency> <dependency> <groupId>oro</groupId> <artifactId>oro</artifactId> <version>2.0.8</version> </dependency> <dependency> <groupId>tapestry</groupId> <artifactId>tapestry</artifactId> <version>4.0</version> </dependency> <dependency> <groupId>tapestry</groupId> <artifactId>tapestry-annotations</artifactId> <version>4.0</version> </dependency> <dependency> <groupId>tapestry</groupId> <artifactId>tapestry-contrib</artifactId> <version>4.0</version> </dependency> <dependency> <groupId>tapestry</groupId> <artifactId>tapestry-portlet</artifactId> <version>4.0</version> </dependency> </dependencies> <build> <finalName>helloworld</finalName> <sourceDirectory>src/main/java</sourceDirectory> <testSourceDirectory>src/test/java</testSourceDirectory> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> </plugins> </build> </project>
Tapestry Annotationsを試すためにJDK1.5を使用。
あとはmvnが使えます。
まずは、ソースを眺めるために、eclipseにインポート。プロジェクトのルートで
mvn eclipse:eclipse
とすると、eclipse用の.classpathと.projectファイルが出来る。
mvn install
でwarがtargetディレクトリの下に出来ます。そしたらdeployして動かせます。