XeroAPI/Xero-Java

Request for Jakarta platform compliant Xero SDK

liuyng0 opened this issue ยท 8 comments

The Xero-Java currently has a dependency on the deprecated javax.servlet, which should be replaced by jarkata.* for jakarta platform compliant: https://jakarta.ee/blogs/javax-jakartaee-namespace-ecosystem-progress/ ,

Xero-Java/pom.xml

Lines 73 to 77 in 32425e4

<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
</dependency>

https://github.com/search?q=repo%3AXeroAPI%2FXero-Java+javax&type=code

We are proactively removing such deprecated dependencies, so cannot use the SDK with javax.* as dependency. Please help to release jarkata compliance SDK. Thanks!

PETOSS-363

Thanks for raising an issue, a ticket has been created to track your request

juTru commented

Hi,
is there any update/eta on this pls?

Thanks!

@juTru We will soon release the fix. Since the Jakarta packages require higher versions of Tomcat this will be released as a breaking change.

@juTru I solved this issue by using the following dependency in pom.xml

<dependency>
	<groupId>com.github.xeroapi</groupId>
	<artifactId>xero-java</artifactId>
	<version>4.29.1</version>
	<exclusions>
		<exclusion>
			<groupId>org.glassfish.jersey.core</groupId>
			<artifactId>jersey-client</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.glassfish.jersey.media</groupId>
			<artifactId>jersey-media-multipart</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.glassfish.jersey.media</groupId>
			<artifactId>jersey-media-json-jackson</artifactId>
		</exclusion>

		<exclusion>
			<groupId>org.glassfish.jersey.core</groupId>
			<artifactId>jersey-common</artifactId>
		</exclusion>
		<exclusion>
			<groupId>org.glassfish.jersey.ext</groupId>
			<artifactId>jersey-entity-filtering</artifactId>
		</exclusion>
	</exclusions>
</dependency>
<dependency>
	<groupId>org.glassfish.jersey.core</groupId>
	<artifactId>jersey-client</artifactId>
	<version>2.27</version>
</dependency>
<dependency>
	<groupId>org.glassfish.jersey.media</groupId>
	<artifactId>jersey-media-multipart</artifactId>
	<version>2.27</version>
</dependency>
<dependency>
	<groupId>org.glassfish.jersey.media</groupId>
	<artifactId>jersey-media-json-jackson</artifactId>
	<version>2.27</version>
</dependency>
<dependency>
	<groupId>org.glassfish.jersey.core</groupId>
	<artifactId>jersey-common</artifactId>
	<version>2.27</version>
</dependency>
<dependency>
	<groupId>org.glassfish.jersey.ext</groupId>
	<artifactId>jersey-entity-filtering</artifactId>
	<version>2.27</version>
</dependency>

It looks like xeroapi wants to use jersey 2.27. However, the property is overridden and it uses a newer version which is not compatible

Issue should be fixed now in release 5.0.0.

Closing the ticket since the issue is fixed.