todvora / eet-client

Client and library for #EET communication - http://www.etrzby.cz/ , written in Java
MIT License
48 stars 26 forks source link

Dependency conflict #25

Closed PavelCibulka closed 7 years ago

PavelCibulka commented 7 years ago

Cxf dependencies are monstrous. Our project increased in size from 35 MB to 51MB.

We have two dependency conflicts: org.apache.geronimo.specs This one conflicts with tomcat. So we can't send emails. javax.mail.NoSuchProviderException: Provider class does not have a constructor(Session, URLName): protocol=imaps; type=javax.mail.Provider$Type@4307b3c5; class=com.sun.mail.imap.IMAPSSLStore; vendor=Oracle

asm This one conflict with new version of itself. java.lang.IncompatibleClassChangeError: org/parboiled/transform/ParserClassNode

Both dependencies are not needed and can be removed from eet-client:

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
            <version>${cxf.version}</version>
            <exclusions>
                <exclusion>
                    <groupId>asm</groupId>
                    <artifactId>asm</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-ws-security</artifactId>
            <version>${cxf.version}</version>
            <exclusions>
                <exclusion>
                    <artifactId>geronimo-javamail_1.4_spec</artifactId>
                    <groupId>org.apache.geronimo.specs</groupId>
                </exclusion>
            </exclusions>
        </dependency>

If not removed from eet-client, they can be removed by:

        <dependency>
            <groupId>com.github.todvora</groupId>
            <artifactId>eet-client</artifactId>
            <version>3.0.0-beta-5</version>
            <exclusions>
                <exclusion>
                    <artifactId>geronimo-javamail_1.4_spec</artifactId>
                    <groupId>org.apache.geronimo.specs</groupId>
                </exclusion>
                <exclusion>
                    <groupId>asm</groupId>
                    <artifactId>asm</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
todvora commented 7 years ago

Done, dependencies excluded directly in pom.xml. Released as 2.2.2 and 3.0.0-beta-6.

Thanks for your contribution!