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

k.moriwaki [E-MAIL ADDRESS DELETED]
2009年 6月 3日 (水) 10:52:42 JST


森脇と申します。

コミッタではありませんが、以前私も同じ問題にぶつかった経験があります。
その時はAnnotationConfigurationProviderを継承したActionCustomizerを
作成して対応しました。

ご参考までに簡単なサンプルを添付します。


2009/06/03 8:17 HALT halt <[E-MAIL ADDRESS DELETED]>:
>
> お世話になっております。
> 大塚と申します。
>
>
> 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
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ActionCustomizer.java
Type: application/octet-stream
Size: 1007 bytes
Desc: 無し
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20090603/0f6417a1/attachment.obj>


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