0

When I add project A as required in Eclipse IDE for project B, the tests are running fine in project B but when I add project A as a maven dependency jar, it is throwing this below error. Can someone please help me?

java.lang.NoSuchMethodError: com.sun.istack.localization.LocalizableMessageFactory.<init>(Ljava/lang/String;Lcom/sun/istack/localization/LocalizableMessageFactory$ResourceBundleSupplier;)V at com.sun.xml.ws.resources.StreamingMessages.<clinit>(StreamingMessages.java:28) at com.sun.xml.ws.util.FastInfosetUtil.<clinit>(FastInfosetUtil.java:35) at com.sun.xml.ws.encoding.SOAPBindingCodec.<init>(SOAPBindingCodec.java:153) at com.sun.xml.ws.encoding.SOAPBindingCodec.<init>(SOAPBindingCodec.java:134) at com.sun.xml.ws.api.pipe.Codecs.createSOAPBindingCodec(Codecs.java:43) at com.sun.xml.ws.api.message.MessageContextFactory.<init>(MessageContextFactory.java:66) at com.sun.xml.ws.api.message.MessageContextFactory.<init>(MessageContextFactory.java:52) at com.oracle.webservices.api.message.MessageContextFactory.<clinit>(MessageContextFactory.java:27) at com.sun.xml.ws.db.DatabindingImpl.<init>(DatabindingImpl.java:74) at com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:44) at com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:28) at com.sun.xml.ws.db.DatabindingFactoryImpl.createRuntime(DatabindingFactoryImpl.java:90) at com.sun.xml.ws.client.WSServiceDelegate.buildRuntimeModel(WSServiceDelegate.java:853) at com.sun.xml.ws.client.WSServiceDelegate.createSEIPortInfo(WSServiceDelegate.java:870) at com.sun.xml.ws.client.WSServiceDelegate.addSEI(WSServiceDelegate.java:833) at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:422) at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:391) at com.sun.xml.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:373) at javax.xml.ws.Service.getPort(Service.java:119) at AssetMiscInfo.AssetMiscInfoWSv2.getAssetMiscInfoServicePort(AssetMiscInfoWSv2.java:75) at alfa.baseFunctions.API.AssetMiscInfoAPI.<init>(AssetMiscInfoAPI.java:42) at variables.SuiteBase.beforeTestMethod(SuiteBase.java:792) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:134) at org.testng.internal.MethodInvocationHelper.invokeMethodConsideringTimeout(MethodInvocationHelper.java:63) at org.testng.internal.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:348) at org.testng.internal.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:302) at org.testng.internal.TestInvoker.runConfigMethods(TestInvoker.java:695) at org.testng.internal.TestInvoker.invokeMethod(TestInvoker.java:523) at org.testng.internal.TestInvoker.invokeTestMethod(TestInvoker.java:173) at org.testng.internal.MethodRunner.runInSequence(MethodRunner.java:46) at org.testng.internal.TestInvoker$MethodInvocationAgent.invoke(TestInvoker.java:816) at org.testng.internal.TestInvoker.invokeTestMethods(TestInvoker.java:146) at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:146) at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:128) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) <br>

pom.xml of project A

    <dependencies>
        <dependency>
            <groupId>com.sun.xml.ws</groupId>
            <artifactId>jaxws-rt</artifactId>
            <version>2.3.5</version>
            
            <exclusions>
                <exclusion>
                    <groupId>com.sun.istack</groupId>
                    <artifactId>istack-commons-runtime</artifactId>
                </exclusion>
            </exclusions>
            </dependency>
        <dependency>
            <artifactId>sputnik</artifactId>
            <groupId>com.carmax.devops</groupId>
            <version>1.2.2</version>
        </dependency>
    </dependencies>

    <build>
        <sourceDirectory>utils.soap</sourceDirectory>
        <resources>
            <resource>
                <directory>utils.soap</directory>
                <includes>
                    <include>**/*.java</include>
                </includes>
            </resource>
        </resources>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-clean-plugin</artifactId>
                <version>3.1.0</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>3.1.0</version>
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <verbose>true</verbose>
                    <fork>true</fork>
                    <excutable>${JAVA_HOME}/bin/javac</excutable>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>`

I tried adding this to my pom but did not resolve the error

<exclusions>
    <exclusion>
        <groupId>com.sun.istack</groupId>
        <artifactId>istack-commons-runtime</artifactId>
    </exclusion>
</exclusions>
Hannah
  • 1
  • 1

1 Answers1

0

updating the version on the pom file of project A fixed my issue

<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>2.2.3</version>
</dependency>

This helped me - ClassCastException: Cannot be cast to com.sun.xml.internal.bind.v2.runtime.reflect.Accessor

Hannah
  • 1
  • 1