毎日追いかけている Play 2.0 SNAPSHOT。
今日はでっかく変わった所がありました。それは、evolutions の置き場です。これまでは db フォルダにありましたが、今日から conf フォルダに置くことになったようです。sample もまだ直っていないので、気をつけてください。
毎日追いかけている Play 2.0 SNAPSHOT。
今日はでっかく変わった所がありました。それは、evolutions の置き場です。これまでは db フォルダにありましたが、今日から conf フォルダに置くことになったようです。sample もまだ直っていないので、気をつけてください。
コンピュータシステム業界では、Excelでドキュメントを作る文化があります。私はこのExcelドキュメントが大嫌いです。ExcelかWordのどっちかと言われたらWordのほうが好きです。
理由は以下のとおりです。
上記のことがあることからExcel仕様書でよく見る特徴
ここのところ毎日 Play framework 2.0 SNAPSHOT を github から pull してきてウォッチしています。
Beta ではできなかったテスト時の Evolutions も動くようになり、DB のテストもやりやすくなりました。
今朝試してみたら、いままで Wiki ドキュメントに載っていながらうまく動かなかった外部設定ファイルのしていもうまくいくようになっていました。
ところで将来 Heroku で使用することを考えているので、RDBMS は自ずから PostgreSQL になるのでテストでは Play framework 標準の H2 ではなく、より PostgreSQL と互換性の高い HSQLDB を使用しています(といっても、SERIAL 型が使いたいだけなのですが)。conf/application.conf には以下のように指定するといいようです。
db.default.driver=org.hsqldb.jdbc.JDBCDriver db.default.url="jdbc:hsqldb:mem:play;sql.syntax_pgs=true"
sql.syntax_pgs=true というのがミソで、これによって PostgreSQL 風シンタックスが有効化されます。これをつけないと HSQLDB で Play framework は一切動きません。
先日、Heroku で Maven プログラムが上手く動かせないと書きましたが、どうやら appassembler-maven-plugin の設定方法が良くなかったようです。動く書き方は以下のとおりです(main クラスが HelloWorld の場合)。
<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>appassembler-maven-plugin</artifactId> <version>1.1.1</version> <configuration> <assembleDirectory>target</assembleDirectory> <programs> <program> <mainClass>HelloWorld</mainClass> <name>webapp</name> </program> </programs> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>assemble</goal> </goals> </execution> </executions> </plugin>
公式サイトのほうも直しておいて欲しいですね。
遅ればせながら Heroku で Maven で管理された Java Web アプリケーションを動かそうとしています。
しかしこれが上手くいかない!
Getting Started with Java on Heroku/Cedar に記載されている通りにやっているつもりなのですが、いざ Heroku へデプロイするとメインクラスが見つからないと怒られる(勿論、ローカルでは動く)
よくよく見ると mvn install でインストールされる先がテンポラリフォルダ(/app/tmp)のようで、デプロイ後、hroku run ls で見てみるとこのフォルダがなくなっている模様。
こんなんじゃ動くわけないと思うのですが、みなさん、ちゃんと動いてるんでしょうね。不思議。