1

SVNPublisher と呼ばれる Hudson プラグインのコードをステップ実行できるようにしようとしています。SVNPublisher のコードをチェックアウトし、Netbeans を使用してプロジェクトを開き、[Debug Main project] をクリックしました。これにより、アドレスhttp://localhost:8080を開く Firefox ウィンドウが表示され、Hudson のメイン ページが表示されます。[新しいジョブ] リンクをクリックすると、エラー ページが表示されます。

HTTP ERROR: 500

jar:file:/home/francis/svn/svnpublisher/target/work/webapp/WEB-INF/lib/hudson-core-1.319.jar!/lib/hudson/newFromList/form.jelly:43:47: <j:forEach> hudson.scm.SubversionTagAction and hudson.scm.SubversionTagAction$DescriptorImpl disagree on InnerClasses attribute

RequestURI=/newJob
Caused by:

org.apache.commons.jelly.JellyTagException: jar:file:/home/francis/svn/svnpublisher/target/work/webapp/WEB-INF/lib/hudson-core-1.319.jar!/lib/hudson/newFromList/form.jelly:43:47:  hudson.scm.SubversionTagAction and hudson.scm.SubversionTagAction$DescriptorImpl disagree on InnerClasses attribute
    at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:713)
    at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:282)
    at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
    ...

私は Hudson を初めて使用し、Java の経験があまりないため、このエラーの意味がほとんどわかりません。

誰でも助けることができますか?

4

2 に答える 2

7

このスレッドが古いことは知っていますが、この問題が発生したばかりで、他の人を助けたいと思っていました。

クラスに DescriptorImpl があるときにこの問題が発生したことがわかりました (これはメイン クラスのサブクラスです)。私の場合、これは ResourceAxis に DescriptorImpl が含まれています。

DescriptorImpl の名前を ResourceDescriptorImpl に変更したときに、この問題が発生し始めました。その後、次のエラー メッセージが表示されるようになりました。

Error injecting constructor, java.lang.IncompatibleClassChangeError: org.jenkinsci.plugins.matrix_resource_manager.ResourceAxis and org.jenkinsci.plugins.matrix_resource_manager.ResourceAxis$DescriptorImpl disagree on InnerClasses attribute
at org.jenkinsci.plugins.matrix_resource_manager.ResourceAxis$DescriptorImpl.<init>(ResourceAxis.java:94)

これにより、ResourceDescriptorImpl を DescriptorImpl に戻すようになりました。これは、DisscriptorImpl について不平を言っていたためです。その時点で、次のエラー メッセージが表示されました。

Error injecting constructor, java.lang.IncompatibleClassChangeError: org.jenkinsci.plugins.matrix_resource_manager.ResourceAxis and org.jenkinsci.plugins.matrix_resource_manager.ResourceAxis$ResourceDescriptorImpl disagree on InnerClasses attribute
at org.jenkinsci.plugins.matrix_resource_manager.ResourceAxis$ResourceDescriptorImpl.<init>(ResourceAxis.java:94)

これは ResourceDescriptorImpl について不平を言っています。毎回クリーン ビルドを行っていないことと、古いコンパイル済みコードが問題を引き起こしている可能性があることに気付きました (1 つのクラスのみを変更したため、もう 1 つのクラスは再コンパイルされない可能性があるため)。この問題が発生した場合は、クリーン ビルドを実行して、問題が解決するかどうかを確認してください。

お役に立てれば。

于 2013-06-11T08:20:40.220 に答える
1

私は同じ問題に直面していますが、残念ながらまだ解決できていません。VonC が述べたように、ジェネリックが 1.5 と 1.6 の間で使用される方法の変更に関係している可能性があります.

私が気付いたのは、hudson をローカルにインストールすると ( http://wiki.hudson-ci.org/display/HUDSON/Meet+Hudson#MeetHudson-TestDrive )、maven インストール コマンドを使用して .hpi ファイルを生成できることです。プラグインをインストールします。それを行っても同じエラーは発生しないため、 hpi:run ゴールの問題である可能性があると思います。これにより、少なくとも、必要な変更をテストできるはずです。

偶然にも、私はその SVN Publish プラグインの作成者です。質問がある場合は. 最近は変更を加えていませんが、いくつかの作業を行っていて、この問題に遭遇したため、このスレッドを見つけました ;)

ありがとう、ブレント

于 2010-05-31T19:39:47.260 に答える