Xero-Java icon indicating copy to clipboard operation
Xero-Java copied to clipboard

Request for Jakarta platform compliant Xero SDK

Open liuyng0 opened this issue 2 years ago • 7 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/ , https://github.com/XeroAPI/Xero-Java/blob/32425e4f71cc7223aded8d6bfec3c452bcee4009/pom.xml#L73-L77 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!

liuyng0 avatar Nov 06 '23 05:11 liuyng0

PETOSS-363

github-actions[bot] avatar Nov 06 '23 05:11 github-actions[bot]

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

github-actions[bot] avatar Nov 06 '23 05:11 github-actions[bot]

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

Thanks!

juTru avatar Dec 21 '23 11:12 juTru

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

manishT72 avatar Feb 05 '24 12:02 manishT72

@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>

dalli98 avatar Feb 08 '24 11:02 dalli98

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

dalli98 avatar Feb 08 '24 11:02 dalli98

Issue should be fixed now in release 5.0.0.

manishT72 avatar May 02 '24 17:05 manishT72