Jenkins 1.520 に問題があり、シリアライゼーション ID に関する奇妙な例外があります。
最初にSubversionからコードをチェックアウトし、次に「mvn clean install」を実行し、最後に生成されたwarを別の本番前サーバーにデプロイするJenkinsのMavenプロジェクトがあります。
このプロジェクトを初めて実行したときはすべて問題ありませんでしたが、最初の実行後、次の例外が発生しました。
ERROR: Failed to parse POMs
java.io.InvalidClassException: hudson.maven.PlexusModuleContributor$1; local class incompatible: stream classdesc serialVersionUID = -647770169695782116, local class serialVersionUID = 1
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:604)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1601)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1514)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
at hudson.remoting.UserRequest.perform(UserRequest.java:98)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Finished: FAILURE
ご覧のとおり、ポイントは「ローカル クラスは互換性がありません: ストリーム classdesc serialVersionUID = -647770169695782116、ローカル クラス serialVersionUID = 1」です。が同じであると予想される場合に、異なる serialVersionUID の競合。
私はジェンキンス・ジラとここでこの問題について読んできましたが、誰もこれに対する本当の解決策を持っていません. ジェンキンスのバージョンのダウングレードについて話しているのは誰かだけです。
pom.xmlで指定されたバージョンとjenkinsサーバーのバージョンのJavaバージョンの競合ではないかと思いましたが、どちらもjdk 1.7を使用しています。多分ジェンキンスのバグですか?
なにか提案を?
ありがとうございました!
解決策 : 最後に、バージョンを 1.520 から 1.509.2 (長期サポート) にダウングレードするとうまくいきます。