[Seasar-user:20649] Re: [Doma]Internal compiler errorが発生
newta
[E-MAIL ADDRESS DELETED]
2011年 3月 10日 (木) 11:29:08 JST
お世話になります。
newtaです。
以前メールしました、
java.lang.IllegalAccessError
が出る件ですが、やはり何度か発生します。
現在複数のプロジェクトにまたがってDomaを使用していることも関係があるかもしれません。
プロジェクト共通
↑ ↑
参照 ↑
プロジェクトA ↑
↑ ↑
参照 ↑
プロジェクトB--参照
プロジェクト共通
プロジェクトA
プロジェクトB
のすべてでDomaを使用しています。
このときSQLファイルやEntitiyクラス、Listenerクラスなどが不足していてエラーになるときに
コンパイルが全て停止してしまう現象がやはり起きています。
そうするとクリーンしても、eclipse再起動をしてもだめなようです。
毎回起きる箇所はMessageFormatterのところなので
MessageFormatterの問題の箇所をtry-catchしたものでjarを作り
毎回一時的にaptに適応して凌いでいます。
以下に実装しているコードを載せておきます。
一時しのぎのようですが、ちょくちょく問題が起きて、
作業の手間になってしまうので、一時しのぎと分かっていても
出来れば本体側に追加してもらえればと思います。
よろしくお願いします。
public final class MessageFormatter {
public static String getMessage(MessageResource messageResource,
Object... args) {
try {
ResourceBundle bundle = ResourceBundle
.getBundle(MessageResourceBundle.class.getName());
String pattern = bundle.getString(messageResource.getCode());
return MessageFormat.format("[" + messageResource.getCode() + "] "
+ pattern, args);
} catch (Throwable t) {
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
PrintStream stream = new PrintStream(outputStream);
t.printStackTrace(stream);
StringBuffer sb = new StringBuffer();
try{
sb.append("CODE[");
sb.append(messageResource.getCode());
sb.append("]");
sb.append("ARGS[");
for(Object a : args) {
sb.append("[");
sb.append(a);
sb.append("]");
}
sb.append("]");
}catch(Exception e2){
sb.append("EXCEPTION[");
sb.append(e2.getMessage());
sb.append("]");
}
sb.append("EXCEPTION[");
sb.append(t.getMessage() + "\n" + outputStream.toString());
sb.append("]");
return sb.toString();
}
}
}
2011年1月26日20:53 Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>:
> 中村(taedium)です。
>
>> Ecpliseでビルドするときにユーザーの操作ロックが掛かるときと
>> 掛かっていないときがあって、そのあたりで平行してapt処理が走ったときに
>> なにか起きるのかも知れません。
>> Eclipse側の問題ですかね?
>> aptでのクラスロードに問題が出たりするのかな?
>
> そうですね。
> 根本的な原因はわかりませんが
> これまでの話からするとEclipse側の問題のようですね。
>
> ただ、頻発するようであれば
> こちらでも調査したいと思います。
>
> --
> Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>
>
>
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
Seasar-user メーリングリストの案内