XeroAPI / Xero-Java

Official Java client for use with Xero API
MIT License
74 stars 88 forks source link

Request for Jakarta platform compliant Xero SDK #354

Open liuyng0 opened 10 months ago

liuyng0 commented 10 months ago

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!

github-actions[bot] commented 10 months ago

PETOSS-363

github-actions[bot] commented 10 months ago

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

juTru commented 8 months ago

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

Thanks!

manishT72 commented 7 months ago

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

dalli98 commented 7 months ago

@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 commented 7 months ago

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

manishT72 commented 4 months ago

Issue should be fixed now in release 5.0.0.