<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>tdtshのブログ &#187; eclipse</title>
	<atom:link href="http://www.tdtsh.com/blog/archives/category/eclipse/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tdtsh.com/blog</link>
	<description>java とか ソーシャルウェブとか Google App Engine とかの事の備忘録</description>
	<lastBuildDate>Thu, 29 Jul 2010 06:39:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/category/eclipse/feed" />
		<item>
		<title>GAE/J (Google App Engine for Java) で Apache Velocityを動かす</title>
		<link>http://www.tdtsh.com/blog/archives/445</link>
		<comments>http://www.tdtsh.com/blog/archives/445#comments</comments>
		<pubDate>Fri, 30 Oct 2009 16:00:17 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[クラウド]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=445</guid>
		<description><![CDATA[GAE/J で Apache Velocity は動く
わたしにとってGAE/Jをガンガン使えるか否かは、Apache Velocityが動くかどうかに強く依存しています。
他のテンプレートエンジンを触ったことないし、J [...]]]></description>
			<content:encoded><![CDATA[<h4>GAE/J で Apache Velocity は動く</h4>
<p>わたしにとってGAE/Jをガンガン使えるか否かは、<a href="http://velocity.apache.org/" onclick="javascript:urchinTracker ('/outbound/article/velocity.apache.org');">Apache Velocity</a>が動くかどうかに強く依存しています。<br />
他のテンプレートエンジンを触ったことないし、JSPは絶対イヤだからです。</p>
<p><a href="http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine?hl=en" onclick="javascript:urchinTracker ('/outbound/article/groups.google.com');">Will it play in App Engine &#8211; Google App Engine for Java | Google Groups</a>にはVelocityのことは書かれていてない(2009年10月30日現在)。</p>
<p>結論から言うとGAE/JでVelocityは動きます。<a href="http://d.hatena.ne.jp/tetsuya_odaka/20090828/1251416748" onclick="javascript:urchinTracker ('/outbound/article/d.hatena.ne.jp');">すでに動かしちゃってる先人の方</a>もいらっしゃる様です。<br />
ちょっと安心です。</p>
<p>GAEにデプロイしたサンプルはこちら<br />
<a href="http://tdtsh-blog.appspot.com/velocity/top.vm" target="_bkank"  onclick="javascript:urchinTracker ('/outbound/article/tdtsh-blog.appspot.com');">http://tdtsh-blog.appspot.com/velocity/top.vm</a></p>
<hr />
<h4>インストール手順</h4>
<p>今個人的に使っているのは、velocity-1.4 と velocity-tools-1.1 なんですが、この際だから最新にしちゃいます。<br />
<a href="http://velocity.apache.org/download.cgi" onclick="javascript:urchinTracker ('/outbound/article/velocity.apache.org');">Downloads &#8211; Apache Velocity Site</a>から、</p>
<p>	velocity-1.6.2.zip<br />
	velocity-tools-1.4.zip</p>
<p>をダウンロードします。</p>
<p>ダウンロードした2つのzipをローカルのどっかに解凍します。</p>
<p>解凍したディレクトリから、jarファイルを、eclipseのプロジェクトのwar/WEB-INF/lib/にコピーします。</p>
<p>	velocity-1.6.2\velocity-1.6.2.jar<br />
	velocity-tools-1.4\lib\velocity-tools-1.4.jar</p>
<p>ここまでで実行すると、依存性が解決できずに (org.apache.commons達) Exceptionはきまくりでした。<br />
細かい依存性の管理については後回しにして、velocity-tools-1.4\lib\ の下の、commons-* を片っ端からeclipseのプロジェクトのwar/WEB-INF/lib/にコピーしました。</p>
<p>こいつらです。<br />
	commons-beanutils-1.7.0.jar<br />
	commons-chain-1.1.jar<br />
	commons-collections-3.2.jar<br />
	commons-digester-1.8.jar<br />
	commons-lang-2.2.jar<br />
	commons-logging-1.1.jar<br />
	commons-validator-1.3.1.jar</p>
<p>最終的に、依存性は maven で管理したいなぁ、と思います。</p>
<hr />
<h4>動かしてみる</h4>
<p>先ずは、クラス my.package.VelocityServlet として、org.apache.velocity.tools.view.servlet.VelocityViewServlet を拡張してクラスを作ります。とりあえずは何も実装しなくていいです。</p>
<p>war/WEB-INF/web.xmlを修正して、こんな感じにしました。</p>
<pre>
&lt;servlet&gt;
	&lt;servlet-name&gt;velocity&lt;/servlet-name&gt;
	&lt;servlet-class&gt;
		my.package.VelocityServlet
	&lt;/servlet-class&gt;
&lt;/servlet&gt;

&lt;servlet-mapping&gt;
	&lt;servlet-name&gt;velocity&lt;/servlet-name&gt;
	&lt;url-pattern&gt;/velocity/*&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;

&lt;servlet-mapping&gt;
	&lt;servlet-name&gt;velocity&lt;/servlet-name&gt;
	&lt;url-pattern&gt;*.vm&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;
</pre>
<p>それから、VMファイルはサーブレットからアクセス出来る必要があるので、war/WEB-INF/appengine-web.xmlを修正して、リソースファイルとして設定しておきます。今回はこんな感じにしました。</p>
<pre>
&lt;resource-files&gt;
	&lt;include path="/velocity/*" /&gt;
&lt;/resource-files&gt;
</pre>
<p>war/velocityディレクトリを作成し、その中に test.vm ファイルを作成します。<br />
中身はなんでもいいんですが、簡単にテストする方法としては、VTLでのコメントを書けばいいです。</p>
<pre>
&lt;html&gt;
&lt;body&gt;
	&lt;h1&gt;Test VelocityServlet&lt;/h1&gt;
	## if you see this message, VelocityViewServlet might not work.
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>http://localhost:8080/velocity/test.vm にアクセスします。</p>
<p>404エラーや500エラーなら、何かの設定が間違っています。<br />
if you see&#8230; が表示されたなら、静的ファイルとして読まれているかもしれません。<br />
(VelocityViewServletがリクエストを正しく処理していれば、if you see&#8230; の部分は見えません)</p>
<p>今回は、VM_global_library.vm とか velocity.properties のことには触れていないけど、リソースファイルとして配備すればもちろん使えます。encodingをきちんと設定すれば、日本語もちゃんと使えます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/445/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/445" />
	</item>
		<item>
		<title>Google App Engine SDK for java でデプロイ</title>
		<link>http://www.tdtsh.com/blog/archives/427</link>
		<comments>http://www.tdtsh.com/blog/archives/427#comments</comments>
		<pubDate>Tue, 27 Oct 2009 16:00:43 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[クラウド]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=427</guid>
		<description><![CDATA[前回インストールした、Google App Engine SDK for javaを使って、コマンドラインでデプロイしてみる。
参考サイトの例に応用をきかせて、今回は SDKとは別ディレクトリに存在する Eclipseの [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tdtsh.com/blog/archives/424" >前回インストールした、Google App Engine SDK for java</a>を使って、コマンドラインでデプロイしてみる。</p>
<p>参考サイトの例に応用をきかせて、今回は SDKとは別ディレクトリに存在する Eclipseのワークスペース上のWARディレクトリを、デプロイします。</p>
<p>	※開発機はWindows XPです。</p>
<p>cd %GAE_HOME%</p>
<p>bin\appcfg.cmd update &#8220;c:\Documents and Settings\myname\workspace\myapp\war&#8221; &#8211;sdk_root=&#8221;c:\Documents and Settings\myname\workspace\myapp&#8221;</p>
<p>Email: と聞かれるので、GAEアカウントのメールアドレスを入力。</p>
<p>Password for xxxx@gmail.com: と聞かれるので、GAEアカウントのパスワードを入力。</p>
<p>・・・う～ん、ちょっとめんどくさい。<br />
このへんは最終的には Antタスクでやるつもり。</p>
<p>バッチ化して開発者(WEBデザイナ含む)に配布出来ないかな、と思ってはみたものの、やはり使いやすさ・説明のし易さ共にeclipseに軍配があがりますね。</p>
<h4> 参考サイト</h4>
<p><a href="http://code.google.com/intl/ja/appengine/docs/java/tools/uploadinganapp.html" onclick="javascript:urchinTracker ('/outbound/article/code.google.com');">アプリケーションのアップロード &#8211; Google Code</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/427/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/427" />
	</item>
		<item>
		<title>GAE/J で WARNING Can not serve hoge.html directly.  You need to include it in &lt;static-files&gt; in your appengine-web.xml</title>
		<link>http://www.tdtsh.com/blog/archives/419</link>
		<comments>http://www.tdtsh.com/blog/archives/419#comments</comments>
		<pubDate>Sat, 24 Oct 2009 16:00:54 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=419</guid>
		<description><![CDATA[Google App Engine for Java (GAE/J) で、静的ファイル ( html、css、js ) を扱おうとして、
WARNING: Can not serve /hoge/hoge.nocache [...]]]></description>
			<content:encoded><![CDATA[<p>Google App Engine for Java (GAE/J) で、静的ファイル ( html、css、js ) を扱おうとして、</p>
<p>WARNING: Can not serve /hoge/hoge.nocache.js directly.  You need to include it in <static-files> in your appengine-web.xml.</p>
<p>てな感じで怒られる。</p>
<p>appengine-web.xml の書き方が間違っているらしい。</p>
<pre>
<static-files>
&lt;static-files&gt;
	&lt;include path="/**.html" /&gt;
	&lt;include path="/**.css" /&gt;
	&lt;include path="/**.js" /&gt;
&lt;/static-files&gt;
</static-files>
</pre>
<p>こう書いてたけど、これではルート直下のんしか駄目らしい。</p>
<p>ルート以下の任意のサブディレクトリの下にも適用するには、</p>
<pre>
<static-files>
&lt;static-files&gt;
	&lt;include path="**.html" /&gt;
	&lt;include path="**.css" /&gt;
	&lt;include path="**.js" /&gt;
&lt;/static-files&gt;
</static-files>
</pre>
<p>こっちが正解らしい。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/419/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/419" />
	</item>
		<item>
		<title>GAE/J で HTML (静的ファイル) を</title>
		<link>http://www.tdtsh.com/blog/archives/415</link>
		<comments>http://www.tdtsh.com/blog/archives/415#comments</comments>
		<pubDate>Fri, 23 Oct 2009 16:00:25 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=415</guid>
		<description><![CDATA[Google App Engine for Java (GAE/J) で、まずはHTMLファイルをデプロイだ！
つまづいた事 その1
GAE/J での開発は、eclipseのプラグインで始めてます。
まず eclipse [...]]]></description>
			<content:encoded><![CDATA[<p>Google App Engine for Java (GAE/J) で、まずはHTMLファイルをデプロイだ！</p>
<p>つまづいた事 その1</p>
<p>GAE/J での開発は、eclipseのプラグインで始めてます。<br />
まず eclipse に慣れてないもんで、素のHTMLファイルってどう扱うかでつまづいた。<br />
JSPとかjavaとかは、workspaceのディレクトリに直接作って編集したりしているもんだから、そのノリでHTML作っても、Javaパースペクティブのパッケージ・エクスプローラに出現しない。<br />
よく判らないけど、eclipse のパッケージ・エクスプローラ上で右クリック &#8211; [新規] &#8211; [ファイル] でもって、HTMLを作成したら、ちゃんとパッケージ・エクスプローラにも表示されました。</p>
<p>つまづいた事 その2</p>
<p><a href="http://code.google.com/intl/ja/appengine/docs/java/config/appconfig.html" onclick="javascript:urchinTracker ('/outbound/article/code.google.com');">Google Code</a>を読んだ。<br />
warフォルダ直下にhtdocsディレクトリを作成し、その中にHTMLファイルを作成した。<br />
HTMLを静的ファイルとして明示的に扱う様に、web.xmlを編集した。</p>
<pre>
&lt;static-files&gt;
	&lt;include path="/htdocs/**.html" /&gt;
&lt;/static-files&gt;
</pre>
<p>良く読んでから気づいたけど、web.xml じゃなくって appengine-web.xml だった。<br />
先入観でやったら駄目ですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/415/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/415" />
	</item>
		<item>
		<title>eclipse(Ganymede) で ArrayList は raw 型です。 総称型 ArrayList への参照は、パラメーター化する必要があります</title>
		<link>http://www.tdtsh.com/blog/archives/411</link>
		<comments>http://www.tdtsh.com/blog/archives/411#comments</comments>
		<pubDate>Fri, 23 Oct 2009 00:00:32 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=411</guid>
		<description><![CDATA[JDK 1.4時代の古いJavaアプリケーションをeclipse(Ganymede)に持ってくると、

ArrayList は raw 型です。 総称型 ArrayList への参照は、パラメーター化する必要があります
 [...]]]></description>
			<content:encoded><![CDATA[<p>JDK 1.4時代の古いJavaアプリケーションをeclipse(Ganymede)に持ってくると、</p>
<p>
ArrayList は raw 型です。 総称型 ArrayList<E> への参照は、パラメーター化する必要があります
</p>
<p>的な警告が、それはそれはものすごく沢山でた。</p>
<p>JDK5以降は、ジェネリクス(総称型)でコンパイル時に型をチェック出来るので、キャスト地獄から開放されるわけだけど、<br />
あまりに量が多くて対応してらんない。</p>
<p>仕方ないから、警告が出ない様にしました。</p>
<p>[ウィンドウ]→[設定]→[Java]→[コンパイラー]→[エラー/警告]→[総称型]→[raw型の使用]<br />
を<br />
[無視]に変更</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/411/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/411" />
	</item>
		<item>
		<title>eclipse(Ganymede)で、シリアライズ可能クラス は long 型の static final serialVersionUID フィールドを宣言していません</title>
		<link>http://www.tdtsh.com/blog/archives/407</link>
		<comments>http://www.tdtsh.com/blog/archives/407#comments</comments>
		<pubDate>Thu, 22 Oct 2009 00:08:46 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=407</guid>
		<description><![CDATA[eclipse(Ganymede)で、

シリアライズ可能クラス Hoge は long 型の static final serialVersionUID フィールドを宣言していません

と怒られた。
クラス Hoge  [...]]]></description>
			<content:encoded><![CDATA[<p>eclipse(Ganymede)で、</p>
<p>
シリアライズ可能クラス Hoge は long 型の static final serialVersionUID フィールドを宣言していません
</p>
<p>と怒られた。<br />
クラス Hoge は implements Serializable なクラス。</p>
<p>こんな感じでユニークかつテキトーな値を定義すればよい。</p>
<pre>
	private static final long serialVersionUID = 1234551229936403487L;
</pre>
<p>eclipseでは、警告をダブルクリックしてソースを開いて、Ctrl+1を押下し、「生成シリアル・バージョンIDの追加」を選択すると、よきにはからってくれる。</p>
<p>eclipseって便利だなー。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/407/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/407" />
	</item>
		<item>
		<title>eclipse(Ganymede)が起動出来ない (JVM terminated. Exit code=-1)</title>
		<link>http://www.tdtsh.com/blog/archives/283</link>
		<comments>http://www.tdtsh.com/blog/archives/283#comments</comments>
		<pubDate>Tue, 18 Aug 2009 00:49:38 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=283</guid>
		<description><![CDATA[ある日突然、eclipse(3.4.1)が起動出来なくなった。
こんなダイアログが出る。

---------------------------
Eclipse
---------------------------
 [...]]]></description>
			<content:encoded><![CDATA[<p>ある日突然、eclipse(3.4.1)が起動出来なくなった。<br />
こんなダイアログが出る。</p>
<pre>
---------------------------
Eclipse
---------------------------
JVM terminated. Exit code=-1
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-XX:MaxPermSize=256M
-Djava.class.path=C:\eclipse\plugins\org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar
-os win32
-ws win32
-arch x86
-showsplash C:\eclipse\\plugins\org.eclipse.platform_3.3.101.v200902111700\splash.bmp
-launcher C:\eclipse\eclipse.exe
-name Eclipse
--launcher.library C:\eclipse\plugins\org.eclipse.equinox.launcher.win32.win32.x86_1.0.101.R34x_v20080731\eclipse_1115.dll
-startup C:\eclipse\plugins\org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar
-framework plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vm C:\Program Files\Java\jre6\bin\client\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx512m
-XX:MaxPermSize=256M
-Djava.class.path=C:\eclipse\plugins\org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar
---------------------------
OK
---------------------------
</pre>
<p>原因は、JREのバージョンが関係しているらしい。<br />
仕事柄、1.4と1.5と6を使い分けているので、仕方ない。</p>
<p>回避するには、JVMを明示指定してあげればよい。</p>
<p>Windowsの場合、ショートカットのパスを変更する手がある。<br />
C:\eclipse\eclipse.exe<br />
↓<br />
C:\eclipse\eclipse.exe -vm &#8220;C:\Program Files\Java\jre6\bin\javaw.exe&#8221;</p>
<p>正攻法では、eclipse.iniを修正する。</p>
<p>これを追記し、<br />
	-vm<br />
	C:\Program Files\Java\jre6\bin\javaw.exe</p>
<p>ここを適宜修正。<br />
-Dosgi.requiredJavaVersion=1.6</p>
<pre>
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-vm
C:\Program Files\Java\jre6\bin\javaw.exe
-framework
plugins\org.eclipse.osgi_3.4.3.R34x_v20081215-1030.jar
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/283/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/283" />
	</item>
		<item>
		<title>eclipseで「Your Web Application Project must be configured to use a JDK in order to use JSPs.」のエラー対処</title>
		<link>http://www.tdtsh.com/blog/archives/59</link>
		<comments>http://www.tdtsh.com/blog/archives/59#comments</comments>
		<pubDate>Sun, 28 Jun 2009 12:41:27 +0000</pubDate>
		<dc:creator>tdtsh</dc:creator>
				<category><![CDATA[eclipse]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://www.tdtsh.com/blog/?p=59</guid>
		<description><![CDATA[
eclipseをインストールして、JDKの設定をしていなかった事が原因。

 [ウィンドウ] &#8211; [設定] &#8211; [Java]- [インストール済みの JRE] 
 [追加]を押下
 [標準VM] [...]]]></description>
			<content:encoded><![CDATA[<div class="section">
<p>eclipseをインストールして、JDKの設定をしていなかった事が原因。</p>
<ul>
<li> [ウィンドウ] &#8211; [設定] &#8211; [Java]- [インストール済みの JRE] </li>
<li> [追加]を押下</li>
<li> [標準VM]</li>
<li> JDKをインストールしているフォルダを設定して[完了]を押下</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.tdtsh.com/blog/archives/59/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.tdtsh.com/blog/archives/59" />
	</item>
	</channel>
</rss>
