2016-12-23 5 views
-1

これは、何が起こっていたのかを見つけるまでに非常に奇妙なエラーです。ライブラリを構築していた複数のJenkins Linuxスレーブがあります。ライブラリが1つのスレーブからテストされたとき、すべてが順調でした。それが他とテストされたとき、存在しなかったメソッドシグネチャを呼び出そうとしていた場所でランタイムエラーが発生しました。たくさんのテストの後、私は、クラスファイルがjarファイルに追加された順番が、テストがうまくいくかどうかを判断することができたと判断できました。誰でもこれを解決しようとすることをどこから始めるべきか知っていますか? Groovyのクラスローディングのバグですか? Javaクラスローディング?任意のアイデアが評価されます。クラスファイルがjarに誤った順序で追加されたときのランタイムエラー

+0

ライブラリの構築にはどうすればよいですか? Maven、gradle、別の何か? – jny

+0

これはグラデルですが、この時点では、良いライブラリからクラスファイルを抽出し、正規のzipコマンドを使って不良ライブラリをソートして(良いものを作成して)作成するか、逆ソート(不良品)注文。 –

+0

あなたのライブラリに依存関係はありますか? – jny

答えて

0

私は、エラー状態が実際に正しい状態であり、アプリケーション構成を詳細に調べ始めました(私はビルドチームにいるので、このアプリケーションには慣れていませんでした)オブジェクト。この問題は、クラスが注釈スキャナによって処理された順序を扱っていました。あるクラスが最初に処理された場合、それはエラーを引き起こした悪いアプリケーション状態を与えた悪い設定を与えるでしょう。他のビルドサーバは、設定の後に悪いクラスを持つjarファイルをビルドしていました。これが、クラスがjarに追加された順序です。私は、悪い設定を修正し、エラーを永久に解決することができました。

関連する問題