0

私たちの Jenkins (maven) ビルドは、次のエラー スタックでランダムに失敗します。

 -- (StackOverflowError) null
null
java.lang.StackOverflowError
    at org.aspectj.weaver.World.resolve(World.java:273)
    at org.aspectj.weaver.World.resolve(World.java:209)
    at org.aspectj.weaver.UnresolvedType.resolve(UnresolvedType.java:645)
    at org.aspectj.weaver.ResolvedType.getRawType(ResolvedType.java:2331)
    at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:427)
    at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:393)
    at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:427)
    at org.aspectj.weaver.ReferenceType.isAssignableFrom(ReferenceType.java:393)

通常、このような失敗の後、手動でトリガーされた (つまり、コードがコミットされていない) 後続のビルドが成功するため、この失敗は実際のコード変更によって引き起こされたものではありません。

バージョンは次のとおりです。

ジェンキンス: 1.501

メイヴン: 2.2.2

アスペクト: 1.6.10

誰でもこれに対処する方法を知っていますか?

4

2 に答える 2

0

私は、aspectj の最新バージョンにアップグレードしても問題が解決しなかった理由は、aspectj maven プラグイン バージョン 1.3 が pom.xml で定義されていたためだと考えています。このバージョンのプラグインは、aspectj バージョン 1.6.7 (修正が導入された 1.6.8 より前のバージョン) に依存しています。プラグインをバージョン 1.4 (aspectj バージョン 1.6.11 に依存) にアップグレードすると、それ以降 StackOverflowError 例外が発生していないため、問題が修正されたようです。

一般的に、廃止された隠れた依存関係がある場合に備えて、依存関係ツリー (プラグインを含む) をチェックする必要があります。

依存関係ツリー (プラグインを含む) を見つけるコマンドは次のとおりです。

mvn dependency:tree

mvn dependency:resolve-plugins

于 2013-05-28T14:27:23.967 に答える
0

推測ですが、1.6.8で修正されたバグが原因で同様のエラーが発生しました。現在の AspectJ リリースへのアップグレードを妨げているものは何ですか? あなたのは本当に古いです。

于 2013-04-17T12:55:18.543 に答える