I recently updated the Jira 4.4.3 to the Jira 5.1. Some of the existing report plugins aren't working. All of them showing the following exceptions:
java.lang.IncompatibleClassChangeError: Found interface com.atlassian.jira.plugin.report.ReportModuleDescriptor, but class was expected
I've check the How to migrate a plugin from Jira 4.x to Jira 5.0 document, it said: If you do receive an error like this, then you need to recompile your plugin against JIRA 5.0 to ensure that your plugin utilises the new interface implementations in JIRA 5.0.
I've tried to run the commands for my report plugins project, but it still could not solve it:
atlas-run
atlas-mvn package
Would you please tell me how to solve this problem?
Thank you in advance
Best Regards
As the docs say, you need to recompile the plugins. It's no help telling us you've run atlas-run and packaging - if you've amended your code correctly, then those commands will produce plugins that at least install and show you something where your reports are. If you haven't updated the code correctly, then they'll give you error messages.
My best guess based on what you've said is that all you've done with your plugins is recompiled them, probably without updating the version they are aimed at. So, first steps - did you edit the pom.xml BEFORE you recompiled, and put in the new version of Jira?
Not a clue, I've let the development kit decide which ones to use when recompiling my plugins, never touched the packages it was pulling in.
Just to be clear, can you confirm what you've done for one plugin? I expect you would have:
If that fails, then where exactly are the errors happening?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Nic,
Thank you for your reply. I've updated the pom file by using the version 5.1 packages before I recompiled. The following dependencies (format groupId, ArtifactId, Version) are using in my report plugin pom file:
Would you please have check the lis if I used the correct version packages?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
What I have done:
Not Found (404)
Found interface com.atlassian.jira.plugin.report.ReportModuleDescriptor, but class was expected
Could not find what you were looking for. Maybe you should raise an issue.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hmm, I'd have expected atlas-package to throw errors and not let you compile the plugin, but we're going in the right direction.
You need to debug the changes in the report API - I have to admit to cheating here and using an IDE to do a lot of the work for me - if you open up your plugin project in an IDE (I tend to use Eclipse or Netbeans mostly, or IDEA sometimes, and there are of course, others), it will probably highlight the code that's incorrect. Unfortunately there's no easy cure - you'll need to work through the API docs and your code to work out what changes you need to make.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I tried to debug it in Eclipse, but it showed Source not found when I tried to step into the class JiraResourcedModuleDescriptor for method getHtml(String , Map<String, ?>). Would you please tell me how to get the source code?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Downloaded the atlassian-jira-5.1-source.zip from Atlassian website and tried to debug the source code for
Found interface com.atlassian.jira.plugin.report.ReportModuleDescriptor, but class was expected
The problem still can't be solved.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I don't think downloading the source and trying to "debug" or include it is going to help much. You need to look at the calls you are making in your code, and re-work them to use the new API with valid calls.
Start at http://docs.atlassian.com/software/jira/docs/api/latest/ and look for the report module descriptor in there.
I'd also look at the current documentation on developing reports - maybe knock up a really simple sample from the examples there and see how that differs from your code.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.