Tomcatのtempディレクトリ

何で実行時に Exception が出るのか見てみると、原因は Tomcat のルートにある temp ディレクトリを削除していたためみたい。Lucene が System.getProperty(“org.apache.lucene.lockdir”, System.getProperty(“java.io.tmpdir”)) を参照するため、ディレクトリがないとNPEが発生。というわけで、削除しないように変更したら、無事に動いた。

ビルド

最新のをチェックアウトしてビルドしたら、Exceptionで起動できん。はて、どうしたものか。

Caused by: java.lang.Exception: Cannot RECREATE Portlet Registry indexes in /home/shinsuke/ProgramFiles/Tomcat/apache-tomcat-5.5.16/webapps/marevol/WEB-INF/search_index
at org.apache.jetspeed.search.lucene.SearchEngineImpl.<init>(SearchEngineImpl.java:102)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:78)
... 82 more

リソースバンドル

う~ん?Ate が入れたこの修正はありなのか?デフォルトのリソースバンドルにこれをすると、portlet.xml からタイトルとかを取ってこなくなると思うのだが。というわけで、今まで、デフォルトのプロパティには javax.portlet.title とかを入れないようにしていたのだけど。これはあとで対応する必要がありそうだな・・・。

http://svn.apache.org/viewvc?view=rev&revision=410984