【问题标题】:java.lang.NoSuchMethodError: com.sun.istack.localization.LocalizableMessageFactory.<init>java.lang.NoSuchMethodError: com.sun.istack.localization.LocalizableMessageFactory.<初始化>
【发布时间】:2022-12-08 06:36:45
【问题描述】:

当我在 Eclipse IDE 中为项目 B 添加项目 A 时,测试在项目 B 中运行良好,但是当我将项目 A 添加为 Maven 依赖项 jar 时,它会抛出以下错误。有人可以帮帮我吗?

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

项目A的pom.xml

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

我尝试将此添加到我的 pom 但没有解决错误

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

【问题讨论】:

    标签: maven


    【解决方案1】:

    更新项目 A 的 pom 文件的版本解决了我的问题

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-15
      • 1970-01-01
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 2020-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多