[Seasar-user:17613] Re: [S2Work]FatJarにするとIllegalArgumentExceptionが発生

HALT halt [E-MAIL ADDRESS DELETED]
2009年 6月 3日 (水) 22:37:52 JST


森脇さん
 
返信ありがとうございます。
 
s2xwork-tigerのドキュメントを確認したところ、
Jarファイル内のclassファイルには対応できない。
とありましたので、ご教示いただいた代替案を参考にしたいと思います。
 
ありがとうございました。
 
大塚

----------------------------------------
> From: [E-MAIL ADDRESS DELETED]
> Date: Wed, 3 Jun 2009 10:52:42 +0900
> To: [E-MAIL ADDRESS DELETED]
> Subject: [Seasar-user:17599] Re: [S2Work]FatJarにするとIllegalArgumentExceptionが発生
>
> 森脇と申します。
>
> コミッタではありませんが、以前私も同じ問題にぶつかった経験があります。
> その時はAnnotationConfigurationProviderを継承したActionCustomizerを
> 作成して対応しました。
>
> ご参考までに簡単なサンプルを添付します。
>
>
> 2009/06/03 8:17 HALT halt :
>>
>> お世話になっております。
>> 大塚と申します。
>>
>>
>> S2Work+clworkのサンプルをFatJar(Uber-Jar)として固めて、
>> java -classpath example.jar org.seasar.xwork.example.webwork.Main
>> の様に実行すると、以下のエラーが発生しました。
>> ※このFatJarを解凍して実行すると、処理が正常終了します。
>>
>> -----------------エラー内容ここから------------------
>> Exception in thread "main" java.lang.IllegalArgumentException: Parameter 'directory' is not a directory
>> at org.apache.commons.io.FileUtils.listFiles(FileUtils.java:293)
>> at org.seasar.xwork.annotation.AnnotationConfigurationProvider.searchAnnotation(AnnotationConfigurationProvider.java:85)
>> at org.seasar.xwork.annotation.AnnotationConfigurationProvider.init(AnnotationConfigurationProvider.java:72)
>> at com.opensymphony.xwork.config.impl.DefaultConfiguration.reload(DefaultConfiguration.java:86)
>> at com.opensymphony.xwork.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:55)
>> at com.opensymphony.xwork.DefaultActionProxy.(DefaultActionProxy.java:60)
>> at com.opensymphony.xwork.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:39)
>> at org.seasar.xwork.clwork.CommandLineDispatcher.dispatch(CommandLineDispatcher.java:48)
>> at org.seasar.xwork.example.webwork.Main.main(Main.java:15)
>> -------------------エラー内容終り--------------------
>>
>> そこで、s2xwork-tigerの当該箇所のコードを見てみると、
>> org.seasar.xwork.annotation.AnnotationConfigurationProvider#searchAnnotation()
>>>> File root = AnnotationConfigurationProvider.getRootPath(resource);
>> Collection files = FileUtils.listFiles(
>> new File(root.getAbsolutePath()+ File.separator + classPackage.replace(".", File.separator)),
>> new SuffixFileFilter("class"),
>> TrueFileFilter.INSTANCE);
>> のような処理になっていました。
>> 本番での稼動を考えると、FatJarによる配備が望ましいのですが、
>> FatJarで実行する場合はXWorkActionアノテーション(というかs2xwork-tiger)
>> を利用できないのでしょうか?
>>
>> また、FatJarで実行する為の代替方法があればご教示いただけると幸いです。
>> _________________________________________________________________
>> Hotmail が進化した!セキュリティーもばっちり!
>> http://clk.atdmt.com/GBL/go/153791838/direct/01/
>> _______________________________________________
>> Seasar-user mailing list
>> [E-MAIL ADDRESS DELETED]
>> https://ml.seasar.org/mailman/listinfo/seasar-user
>>
_________________________________________________________________
メールはひとつにまとめよう!他の無料メールもプロバイダーメールも。
http://clk.atdmt.com/GBL/go/153791839/direct/01/


Seasar-user メーリングリストの案内