とりあえず雑記帳(跡地)
環境構築とプロジェクト作成
最終更新:
fujiyan
-
view
WebコミックLibraryhttp://web-comi.appspot.com/ GAE/JとSlim3で作成してみた、各出版社から配信されているWebコミックをまとめて閲覧できるサイトです。只今、実験運用中… |
Eclipse 4.2(Juno) + JDK 7 + JDK 6 + Slim3 1.0.16
(2012/07/21)
流石に、今時はJDK 7を用いることも多いかと思いますが、GAE/JはJDK 6でビルドする必要があります。
Eclipse 4.2もリリースされ、Slim3も久々に更新されましたし、JDK 7をEclipseのランタイムとしつつ、GAE/Jのビルド用にJDK 6を用いる設定をご紹介。
流石に、今時はJDK 7を用いることも多いかと思いますが、GAE/JはJDK 6でビルドする必要があります。
Eclipse 4.2もリリースされ、Slim3も久々に更新されましたし、JDK 7をEclipseのランタイムとしつつ、GAE/Jのビルド用にJDK 6を用いる設定をご紹介。
※たまに、実行時に、指定したプロジェクトとは異なるプロジェクトが実行されることもありますが、Eclipseを再起動すれば大丈夫なようです。
手順
1. JDK 7をインストール
これは、Eclipse 4.2のランタイムと、GAE/J以外の(通常のプロジェクトの)ビルド用という位置づけです。
環境変数JAVA_HOMEやPATHは、こっちを参照するようにします。
これは、Eclipse 4.2のランタイムと、GAE/J以外の(通常のプロジェクトの)ビルド用という位置づけです。
環境変数JAVA_HOMEやPATHは、こっちを参照するようにします。
2. JDK 6をインストール
これは、GAE/Jのビルド用です。JDK 7とは共存可能です。
但し、環境変数JAVA_HOMEやPATHは、こっちを参照しないようにしましょう。
これは、GAE/Jのビルド用です。JDK 7とは共存可能です。
但し、環境変数JAVA_HOMEやPATHは、こっちを参照しないようにしましょう。
3. Eclipse 4.2のインストール
まぁ、通常は「Eclipse IDE for Java EE Developers」で良いかと。
まぁ、通常は「Eclipse IDE for Java EE Developers」で良いかと。
4. Google Plugin for Eclipseのインストール
もちろん4.2用をインストールしましょう。
もちろん4.2用をインストールしましょう。
5. GAE用のワークスペースを作成
5.1. ワークスペースのデフォルトのJREにJDK 6を選択
何もしないとJREとしてJDK 7になってしまうので、[Installed JREs]でJDK 6を追加して選択しておきましょう。
何もしないとJREとしてJDK 7になってしまうので、[Installed JREs]でJDK 6を追加して選択しておきましょう。
5.2. ワークスペースのCompiler compliance levelを1.6にする
これも、何もしないと1.7なので、1.6にしておきましょう。
これも、何もしないと1.7なので、1.6にしておきましょう。
5.3. その他
お好みのワークスペース設定を。
お好みのワークスペース設定を。
5.3.1. (オススメ)文字エンコーディングの設定
ワークスペースのPreferencesの[Workspace]の[Text file encoding]で、UTF-8を指定しておきます。
ワークスペースのPreferencesの[Workspace]の[Text file encoding]で、UTF-8を指定しておきます。
6. Slim3をダウンロード
ダウンロードしたzipファイルを適当なところで展開します。
ダウンロードしたzipファイルを適当なところで展開します。
7. プロジェクト作成
普通に、[Google]-[Web Application Project]で作成します。
GWTを使わなければ[Use Google Web Tooklit]のチェックを外します。
サンプルコードも必要なければ[Generate project sample code]のチェックも外します。
普通に、[Google]-[Web Application Project]で作成します。
GWTを使わなければ[Use Google Web Tooklit]のチェックを外します。
サンプルコードも必要なければ[Generate project sample code]のチェックも外します。
7.1. Slim3のファイルをコピー
展開したSlim3の下記ファイルを、作成したプロジェクトにコピーします。
展開したSlim3の下記ファイルを、作成したプロジェクトにコピーします。
- build.properties
- build.xml
- lib/slim3-gen-1.0.16.jar
- libsrc/slim3-1.0.16-sources.jar
- war/WEB-INF/lib/slim3-1.0.16.jar
7.2. ビルドパスの設定
コピーしたwar/WEB-INF/lib/slim3-1.0.16.jarをビルドパスに追加します。
[Source attachment]で、libsrc/slim3-1.0.16-sources.jarを指定しておきます。
コピーしたwar/WEB-INF/lib/slim3-1.0.16.jarをビルドパスに追加します。
[Source attachment]で、libsrc/slim3-1.0.16-sources.jarを指定しておきます。
7.3. Java Compilerのプロパティ設定
プロジェクトのプロパティの[Java Compiler]の設定を行います。
プロジェクトのプロパティの[Java Compiler]の設定を行います。
- [Compiler compliance level]が1.6以外になっている場合は1.6にします。
- この時点で、プロジェクトにエラーが報告される場合がありますが、後述のProject Facetsの設定でエラーが消えます。
7.4. Annotation Processingのプロパティ設定
プロジェクトのプロパティの[Java Compiler]-[Annotation Processing]の設定を行います。
プロジェクトのプロパティの[Java Compiler]-[Annotation Processing]の設定を行います。
- [Enable project specific settings]のチェックをONにして、[Enable annotation processing]のチェックもONにします。[Enable processing editor]のチェックはOFFにします。
- [Generated source directory]テキストボックスの内容を"src"にします。
プロジェクトのプロパティの[Java Compiler]-[Annotation Processing]-[Factory Path]の設定を行います。
- [Enable project specific settings]のチェックをONにします。
- [Add JARs]で、lib/slim3-gen-1.0.16.jarを追加します。
7.5. Project Facetsのプロパティ設定
プロジェクトのプロパティの[Project Facets]の設定を行います。
プロジェクトのプロパティの[Project Facets]の設定を行います。
- たまに、"Java"の[Version]が1.6以外になっているので、1.6に変更します。
7.6. App Engineのプロパティ設定
プロジェクトのプロパティの[Google]-[App Engine]の設定を行います。
プロジェクトのプロパティの[Google]-[App Engine]の設定を行います。
- [Application ID]を設定します。
- Slim3では[Use Datanucleus JDO/JPA to access the datastore]のチェックは不要なので外します。
- このチェックを外すと、一気にjarが減ります。
7.7. web.xmlの設定
web.xmlを下記内容に置き換えます。
web.xmlを下記内容に置き換えます。
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>slim3.rootPackage</param-name>
<param-value>[パッケージルート]</param-value>
</context-param>
<filter>
<filter-name>HotReloadingFilter</filter-name>
<filter-class>org.slim3.controller.HotReloadingFilter</filter-class>
</filter>
<filter>
<filter-name>DatastoreFilter</filter-name>
<filter-class>org.slim3.datastore.DatastoreFilter</filter-class>
</filter>
<filter>
<filter-name>FrontController</filter-name>
<filter-class>org.slim3.controller.FrontController</filter-class>
</filter>
<filter-mapping>
<filter-name>HotReloadingFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>DatastoreFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>FrontController</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
</filter-mapping>
<servlet>
<servlet-name>SystemServiceServlet</servlet-name>
<servlet-class>com.google.api.server.spi.SystemServiceServlet</servlet-class>
<init-param>
<param-name>services</param-name>
<param-value/>
</init-param>
</servlet>
<servlet>
<servlet-name>GlobalTransactionServlet</servlet-name>
<servlet-class>org.slim3.datastore.GlobalTransactionServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SystemServiceServlet</servlet-name>
<url-pattern>/_ah/spi/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>GlobalTransactionServlet</servlet-name>
<url-pattern>/slim3/gtx</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<web-resource-name>JavaServer Pages</web-resource-name>
<url-pattern>*.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
</auth-constraint>
</security-constraint>
<security-constraint>
<web-resource-collection>
<web-resource-name>Global Transaction</web-resource-name>
<url-pattern>/slim3/gtx</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
</web-app>
slim3.rootPackageには、パッケージルートを設定します。
7.9. appengine-web.xmlの設定
appengine-web.xmlの<system-properties>に下記内容を追加します。
appengine-web.xmlの<system-properties>に下記内容を追加します。
<property name="slim3.hotReloading" value="true"/>
7.10. 不要なファイルの削除
Slim3の場合、下記ファイルは不要なので削除します。
Slim3の場合、下記ファイルは不要なので削除します。
- src/log4j.properties
- src/META-INF/jdoconfig.xml
- src/META-INF/persistence.xml
いずれもJDO向けの設定のため。「どうしてもLog4Jが使いたい」という場合はlog4j.propertiesは残して、内容を書き換える方向で。
7.11. その他
お好みのプロジェクト/web.xml設定を。
お好みのプロジェクト/web.xml設定を。
7.11.1. (オススメ)war/WEB-INF/appengine-generatedをDerivedに指定
war/WEB-INF/appengine-generatedのプロパティにて、[Attributes]-[Derived]をONにします。
これにより、このフォルダはバージョン管理の対象外になります。
war/WEB-INF/appengine-generatedのプロパティにて、[Attributes]-[Derived]をONにします。
これにより、このフォルダはバージョン管理の対象外になります。
8. 完了!!
(古い記事)環境構築
- まぁ、Slim3 Pluginを導入するのが早道です。更新サイト→Slim3 Update Site
プロジェクト作成(Slim3 Plugin)
- [New Project]で、[Slim3]-[Slim3 Project]を選択
(古い記事)
バイナリダウンロード
- 公式サイト(Google Code)からダウンロードする。
- slim3-blank-EA1-SNAPSHOT-mmddyyyy.zipをダウンロードする。
Eclipse環境設定
- 基本的に、公式サイトのGetting Startedの通りに行う。だいたい以下の通り。
- [Window]-[Preferences]でPreferencesダイアログを開き、[Java]-[Code Style]-[Organize Imports]で[Number of static imports needed for .*]に1を設定する。
- 引き続きPreferencesダイアログで、[Java]-[Editor]-[Content Assist]-[Favorites]の[New Type...]で、"org.hamcrest.CoreMatchers"と"org.junit.Assert"と"org.junit.matchers.JUnitMatchers"を追加する。
- 引き続きPreferencesダイアログで、[General]-[Workspace]で[Refresh automatically]をチェックする。
GWTを使う
さっきリリースされた1.0.2より、GWTを公式サポートとのことなので、使ってみる。
Slim3-GWT
Slim3-GWT
プロジェクト作成
- 基本的に、公式サイトのGetting Startedの通りに行う。だいたい以下の通り。
- ダウンロードしたzipを解凍する。
- 解凍して作成されたフォルダ"slim3-blank"を、Eclipseのワークスペースにインポートする。
- インポートしたプロジェクトの名前を、Refactorで変更する。
- war/WEB-INF/web.xmlのcontext-paramのslim3.rootPackage(で指定したパッケージ)に、作成するソースのルートパッケージ名を設定する。
<context-param> <param-name>slim3.rootPackage</param-name> <param-value>jp.fujiyan.gae.example.slim3</param-value> </context-param>
- プロジェクトのプロパティダイアログを開き(プロジェクトのコンテキストメニュー→[Properties])、[Java Compiler]→[Annotation Processing]で、[Enable project specific settings]のチェックをONにし、[Enable annotation processing]のチェックもONにし、[Enable processing editor]のチェックはOFFにする。また、[Generated source directory]テキストボックスの内容を"src"とする。
- プロジェクトのプロパティダイアログを開き(プロジェクトを選択して、右クリック→[Properties])、[Java Compiler]→[Annotation Processing]→[Factory Path]の[Add JARs]で、libフォルダの下にあるslim3-gen-xxx.jar(slim3-gen-EA1-SNAPSHOT.jar)を追加する。