NoSuchMethodError AuthenticationHandler.configure

Hi,

I'm using the Jira Rest Java Client Library like described here:
https://ecosystem.atlassian.net/wiki/display/JRJC/Tutorial

Here's the part of my Code, that establishes the connection:

public class JiraConnection {
    
    private URI jiraHost;
    private JiraRestClient restClient;
    private JerseyJiraRestClientFactory factory;
    private NullProgressMonitor pm;
	
	public JiraConnection() throws URISyntaxException{
        pm = new NullProgressMonitor();
        jiraHost =  new URI("http://myJiraHiost/");
        factory = new JerseyJiraRestClientFactory();
		//This is line 34:
        restClient = factory.createWithBasicHttpAuthentication(jiraHost, "x", "y"); 
    }
	...



When the Constructor of this class is called I recieve the following exception:

java.lang.NoSuchMethodError: com.atlassian.jira.rest.client.AuthenticationHandler.configure(Lcom/sun/jersey/client/apache/config/ApacheHttpClientConfig;)V
    at com.atlassian.jira.rest.client.internal.jersey.JerseyJiraRestClient.<init>(JerseyJiraRestClient.java:63)
    at com.atlassian.jira.rest.client.internal.jersey.JerseyJiraRestClientFactory.create(JerseyJiraRestClientFactory.java:34)
    at com.atlassian.jira.rest.client.internal.jersey.JerseyJiraRestClientFactory.createWithBasicHttpAuthentication(JerseyJiraRestClientFactory.java:39)
    at ...JiraConnection.<init>(JiraConnection.java:34) //this the constructor of my class
    ...



I googled for it an looked at the sourcecode of AuthetificationHandler, JerseyJiraRestClient.java:63 and other involved classes but couldn't detect the root cause.
Do you have any clues?

If you need more information let me know. Thanks for any advice!

Regards

4 answers

1 accepted

Accepted Answer
1 vote

I noticed that jira-rest-java-client(-core/plugin/api) have slightly different versions. Might this be the problem?

Yes, this is problem for sure. You have to depend only on jira-rest-java-client-core and I suggest using the most fresh version (2.0.0-m25).

This is because probably your code uses 2.0.0-m2 API which is aparently sligly different than 2.0.0-m25. If the problem still exists after fixing dependencies then please verify what JARs do you have on classpath inside glassfish container. And compare that with output of mvn dependency:list.

Also the jira-rest-java-client dependency should be the only one that you need for that project - all the jersey, apache client etc should be pulled from maven automatically with proper versions (unless you use other dependency that depends on other version of those libraries - but then you'll have fun anyway if the're not compatibile ;)).

Thank you, that solved the problem!

I removed the other dependencies and now only have jira-rest-java-client-core 2.0.0-m25 left.

0 votes

Could you share pom.xml? What version of JRJC do you use? How do you run your project?

Here is the pom.xml. I run the project in NetBeans on a Glassfish server.

I'm using JRJC 2.0.0

I noticed that jira-rest-java-client(-core/plugin/api) have slightly different versions. Might this be the problem?

<dependencies>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-rest-java-client-api</artifactId>
            <version>2.0.0-m25</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-rest-java-client-core</artifactId>
            <version>2.0.0-m25</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-rest-java-client</artifactId>
            <version>2.0.0-m2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-rest-java-client-plugin</artifactId>
            <version>2.0.0-m23</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.atlassian.jira</groupId>
            <artifactId>jira-rest-java-client-p3</artifactId>
            <version>0.6-m6-db4</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>displaytag</groupId>
            <artifactId>displaytag</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>com.springsource.org.apache.poi</artifactId>
            <version>3.9.0.FINAL</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>jaxws-rt</artifactId>
            <version>2.2.8</version>
        </dependency>
        <dependency>
            <groupId>javax.jws</groupId>
            <artifactId>jsr181-api</artifactId>
            <version>1.0-MR1</version>
        </dependency>

<dependency>
            <artifactId>hsqldb</artifactId>
            <groupId>hsqldb</groupId>
            <type>jar</type>
            <version>1.8.0.10</version>
        </dependency>
        <dependency>
            <artifactId>com.darwinsys</artifactId>
            <groupId>util</groupId>
            <type>jar</type>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <artifactId>slf4j-log4j12</artifactId>
            <groupId>org.slf4j</groupId>
            <type>jar</type>
            <version>1.5.6</version>
        </dependency>
        <dependency>
            <artifactId>jersey-client</artifactId>
            <groupId>com.sun.jersey</groupId>
            <type>jar</type>
            <version>1.6</version>
        </dependency>
        <dependency>
            <artifactId>jersey-core</artifactId>
            <groupId>com.sun.jersey</groupId>
            <type>jar</type>
            <version>1.6</version>
        </dependency>
        <dependency>
            <artifactId>jersey-json</artifactId>
            <groupId>com.sun.jersey</groupId>
            <type>jar</type>
            <version>1.6</version>
        </dependency>
        <dependency>
            <artifactId>jersey-apache-client</artifactId>
            <groupId>com.sun.jersey.contribs</groupId>
            <type>jar</type>
            <version>1.6</version>
        </dependency>
    </dependencies>

Suggest an answer

Log in or Sign up to answer
Community showcase
Posted yesterday in Featured Groups

Tuesday tips & tricks: What is the Atlassian Community?

It's officially Tuesday, which means it's officially time for another tip to help you better navigate this space we call the Atlassian Community. 😄 I got a great question from community member, Sa...

42 views 2 4
View post

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you