从Java 8迁移到11-jaxws-rt [英] Migrating from java 8 to 11 - jaxws-rt

查看:141
本文介绍了从Java 8迁移到11-jaxws-rt的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经从Java 8迁移到Java 11,并且发现不赞成使用某些Java EE库,而必须使用一些第三方依赖项.

I´ve migrated from Java 8 to Java 11 and I´ve found that some Java EE libraries are deprecated and I have to use some third party dependencies instead.

所以我已经将这些依赖项添加到了maven pom.xml

So I´ve added these dependencies to maven pom.xml

<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
</dependency>
<!-- JAXWS for Java 11 -->
<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>${com.sun.xml.ws.jaxws-rt.version}</version>
    <type>pom</type>
</dependency>
<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>rt</artifactId>
    <version>${com.sun.xml.ws.jaxws-rt.version}</version>
</dependency>

其中变量的版本为2.3.2. 但是当我开始构建时,会有大量这样的警告

Where the version in the variable is 2.3.2. But when I start the build, there are tons of warnings like this

java.io.IOException:处的java.lang.reflect.InvocationTargetException org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:236) 在 org.apache.tomcat.util.scan.JarFileUrlJar.(JarFileUrlJar.java:65) 在 org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:49) 在 org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:374) 在 org.apache.tomcat.util.scan.StandardJarScanner.processURLs(StandardJarScanner.java:309) 在 org.apache.tomcat.util.scan.StandardJarScanner.doScanClassPath(StandardJarScanner.java:278) 在 org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:229) 在org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:262) 在org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104)处 org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:83) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1384) 在 org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1374) 在java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 在 org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 在 java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) 在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) 在 org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1384) 在 org.apache.catalina.core.ContainerBase $ StartChild.call(ContainerBase.java:1374) 在java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 在 org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) 在 java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) 在 org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) 在 org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.StandardService.startInternal(StandardService.java:421) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在 org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) 在org.apache.catalina.startup.Tomcat.start(Tomcat.java:459)处 org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:107) 在 org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:88) 在 org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:438) 在 org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:191) 在 org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180) 在 org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:153) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544) 在 org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) 在 org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) 在 org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:315) 在 org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:126) 在 org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) 在 org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) 在 org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:123) 在 org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.postProcessFields(MockitoTestExecutionListener.java:95) 在 org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.injectFields(MockitoTestExecutionListener.java:79) 在 org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.prepareTestInstance(MockitoTestExecutionListener.java:54) 在 org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:244) 在 org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:98) 在 org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda $ invokeTestInstancePostProcessors $ 5(ClassBasedTestDescriptor.java:337) 在 org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:342) 在 org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda $ invokeTestInstancePostProcessors $ 6(ClassBasedTestDescriptor.java:337) 在 java.base/java.util.stream.ReferencePipeline $ 3 $ 1.accept(ReferencePipeline.java:195) 在 java.base/java.util.stream.ReferencePipeline $ 2 $ 1.accept(ReferencePipeline.java:177) 在 java.base/java.util.ArrayList $ ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) 在 java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) 在 java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) 在 java.base/java.util.stream.StreamSpliterators $ WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) 在 java.base/java.util.stream.Streams $ ConcatSpliterator.forEachRemaining(Streams.java:735) 在 java.base/java.util.stream.Streams $ ConcatSpliterator.forEachRemaining(Streams.java:734) 在 java.base/java.util.stream.ReferencePipeline $ Head.forEach(ReferencePipeline.java:658) 在 org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:336) 在 org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:259) 在 org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda $ testInstancesProvider $ 2(ClassBasedTestDescriptor.java:252) 在java.base/java.util.Optional.orElseGet(Optional.java:369)在 org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda $ testInstancesProvider $ 3(ClassBasedTestDescriptor.java:251) 在 org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29) 在 org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda $ prepare $ 0(TestMethodTestDescriptor.java:106) 在 org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) 在 org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) 在 org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ prepare $ 1(NodeTestTask.java:107) 在 org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75) 在java.base/java.util.ArrayList.forEach(ArrayList.java:1540)在 org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 5(NodeTestTask.java:139) 在 org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 7(NodeTestTask.java:125) 在 org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 8(NodeTestTask.java:123) 在 org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) 在java.base/java.util.ArrayList.forEach(ArrayList.java:1540)在 org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 5(NodeTestTask.java:139) 在 org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 7(NodeTestTask.java:125) 在 org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 8(NodeTestTask.java:123) 在 org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) 在 org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) 在 org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) 在 org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) 在 org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) 在 org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) 在 org.junit.platform.launcher.core.DefaultLauncher.lambda $ execute $ 6(DefaultLauncher.java:188) 在 org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) 在 org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) 在 org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) 在 org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150) 在 org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124) 在 org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) 在 org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) 在 org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) 在 org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) 由以下原因引起:java.lang.reflect.InvocationTargetException:在null java.base/jdk.internal.reflect.GeneratedConstructorAccessor80.newInstance(未知 来源) java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) 在 org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:233) ...省略了112个共同的框架 java.nio.file.NoSuchFileException: C:\ Users \ USER.m2 \ repository \ org \ glassfish \ ha \ ha-api \ 3.1.12 \ javax.inject.jar 在 java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85) 在 java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103) 在 java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108) 在 java.base/sun.nio.fs.WindowsFileAttributeViews $ Basic.readAttributes(WindowsFileAttributeViews.java:53) 在 java.base/sun.nio.fs.WindowsFileAttributeViews $ Basic.readAttributes(WindowsFileAttributeViews.java:38) 在 java.base/sun.nio.fs.WindowsFileSystemProvider.readAttributes(WindowsFileSystemProvider.java:198) 在java.base/java.nio.file.Files.readAttributes(Files.java:1763)在 java.base/java.util.zip.ZipFile $ Source.get(ZipFile.java:1225)在 java.base/java.util.zip.ZipFile $ CleanableResource.(ZipFile.java:727) 在 java.base/java.util.zip.ZipFile $ CleanableResource.get(ZipFile.java:844) 在java.base/java.util.zip.ZipFile.(ZipFile.java:247)在 java.base/java.util.zip.ZipFile.(ZipFile.java:177)在 java.base/java.util.jar.JarFile.(JarFile.java:346)... 116 常见的框架省略了

java.io.IOException: java.lang.reflect.InvocationTargetException at org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:236) at org.apache.tomcat.util.scan.JarFileUrlJar.(JarFileUrlJar.java:65) at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:49) at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:374) at org.apache.tomcat.util.scan.StandardJarScanner.processURLs(StandardJarScanner.java:309) at org.apache.tomcat.util.scan.StandardJarScanner.doScanClassPath(StandardJarScanner.java:278) at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:229) at org.apache.jasper.servlet.TldScanner.scanJars(TldScanner.java:262) at org.apache.jasper.servlet.TldScanner.scan(TldScanner.java:104) at org.apache.jasper.servlet.JasperInitializer.onStartup(JasperInitializer.java:83) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:841) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75) at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140) at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909) at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardService.startInternal(StandardService.java:421) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) at org.apache.catalina.startup.Tomcat.start(Tomcat.java:459) at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize(TomcatWebServer.java:107) at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.(TomcatWebServer.java:88) at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getTomcatWebServer(TomcatServletWebServerFactory.java:438) at org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer(TomcatServletWebServerFactory.java:191) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.createWebServer(ServletWebServerApplicationContext.java:180) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefresh(ServletWebServerApplicationContext.java:153) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:544) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:126) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:99) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124) at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:123) at org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.postProcessFields(MockitoTestExecutionListener.java:95) at org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.injectFields(MockitoTestExecutionListener.java:79) at org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.prepareTestInstance(MockitoTestExecutionListener.java:54) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:244) at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance(SpringExtension.java:98) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$5(ClassBasedTestDescriptor.java:337) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable(ClassBasedTestDescriptor.java:342) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$6(ClassBasedTestDescriptor.java:337) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1654) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:312) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:735) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Streams.java:734) at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:658) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors(ClassBasedTestDescriptor.java:336) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:259) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:252) at java.base/java.util.Optional.orElseGet(Optional.java:369) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:251) at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75) at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) at java.base/java.util.ArrayList.forEach(ArrayList.java:1540) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125) at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135) at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123) at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122) at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80) at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:220) at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:188) at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:202) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:181) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128) at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invokeAllTests(JUnitPlatformProvider.java:150) at org.apache.maven.surefire.junitplatform.JUnitPlatformProvider.invoke(JUnitPlatformProvider.java:124) at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384) at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345) at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126) at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418) Caused by: java.lang.reflect.InvocationTargetException: null at java.base/jdk.internal.reflect.GeneratedConstructorAccessor80.newInstance(Unknown Source) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:233) ... 112 common frames omitted Caused by: java.nio.file.NoSuchFileException: C:\Users\USER.m2\repository\org\glassfish\ha\ha-api\3.1.12\javax.inject.jar at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103) at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108) at java.base/sun.nio.fs.WindowsFileAttributeViews$Basic.readAttributes(WindowsFileAttributeViews.java:53) at java.base/sun.nio.fs.WindowsFileAttributeViews$Basic.readAttributes(WindowsFileAttributeViews.java:38) at java.base/sun.nio.fs.WindowsFileSystemProvider.readAttributes(WindowsFileSystemProvider.java:198) at java.base/java.nio.file.Files.readAttributes(Files.java:1763) at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1225) at java.base/java.util.zip.ZipFile$CleanableResource.(ZipFile.java:727) at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:844) at java.base/java.util.zip.ZipFile.(ZipFile.java:247) at java.base/java.util.zip.ZipFile.(ZipFile.java:177) at java.base/java.util.jar.JarFile.(JarFile.java:346) ... 116 common frames omitted

jaxws-rt插件是否应该加载ha代表?

The jaxws-rt plugin should load that ha rependence, or not?

在以下例外情况下,ha-API软件包中缺少文件,而那些jaxws-rt依赖项中还有另一个文件,例如:

In the following exceptions, there are missing files in the ha-API package and another missing file in those jaxws-rt dependencies like:

由于:java.lang.NoClassDefFoundError:无法初始化类 com.jayway.jsonpath.internal.DefaultsImpl

Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.jayway.jsonpath.internal.DefaultsImpl

如果我导入该hp api依赖项,则该问题不会消失.我不知道该怎么办,有人可以帮忙吗?

If i import that hp api dependency, the problem does not dissapear. I have no clue what to do, is there anyone who could help?

文件夹中包含这些文件

The folder have these files inside

在我从两个QueryDsl工件(apt和jpa)中排除了注入依赖之后,我无法安装.这是我遇到的错误:

After I excluded inject dependency from both QueryDsl artifacts (apt and jpa) I am unable to install. Here is error I am getting:

从两个querydsl工件中删除依赖项后,依赖项树中没有其他javax.inject.

There is no other javax.inject in dependency tree after exluding that dependency from both querydsl artifacts.

构建"Q"对象(querydsl查询中使用的QEntities)时发生错误

The Error occures when building "Q" objects (QEntities used in the querydsl queries)

[ERROR] execute error
java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/inject/Inject
    at java.util.concurrent.FutureTask.report (FutureTask.java:122)
    at java.util.concurrent.FutureTask.get (FutureTask.java:191)
    at com.mysema.maven.apt.AbstractProcessorMojo.execute (AbstractProcessorMojo.java:346)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:956)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:288)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
    at org.codehaus.classworlds.Launcher.main (Launcher.java:47)
Caused by: java.lang.RuntimeException: java.lang.NoClassDefFoundError: javax/inject/Inject
    at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions (JavacTaskImpl.java:163)
    at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:100)
    at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:94)
    at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:72)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:834)
Caused by: java.lang.NoClassDefFoundError: javax/inject/Inject
    at com.querydsl.codegen.AbstractModule.createInstance (AbstractModule.java:116)
    at com.querydsl.codegen.AbstractModule.get (AbstractModule.java:86)
    at com.querydsl.apt.DefaultConfiguration.getTypeMappings (DefaultConfiguration.java:410)
    at com.querydsl.apt.AbstractQuerydslProcessor.process (AbstractQuerydslProcessor.java:86)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor (JavacProcessingEnvironment.java:980)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs (JavacProcessingEnvironment.java:896)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run (JavacProcessingEnvironment.java:1222)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing (JavacProcessingEnvironment.java:1334)
    at com.sun.tools.javac.main.JavaCompiler.processAnnotations (JavaCompiler.java:1258)
    at com.sun.tools.javac.main.JavaCompiler.compile (JavaCompiler.java:936)
    at com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0 (JavacTaskImpl.java:104)
    at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions (JavacTaskImpl.java:147)
    at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:100)
    at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:94)
    at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:72)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:834)
Caused by: java.lang.ClassNotFoundException: javax.inject.Inject
    at java.net.URLClassLoader.findClass (URLClassLoader.java:471)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:588)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:521)
    at com.querydsl.codegen.AbstractModule.createInstance (AbstractModule.java:116)
    at com.querydsl.codegen.AbstractModule.get (AbstractModule.java:86)
    at com.querydsl.apt.DefaultConfiguration.getTypeMappings (DefaultConfiguration.java:410)
    at com.querydsl.apt.AbstractQuerydslProcessor.process (AbstractQuerydslProcessor.java:86)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor (JavacProcessingEnvironment.java:980)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs (JavacProcessingEnvironment.java:896)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run (JavacProcessingEnvironment.java:1222)
    at com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing (JavacProcessingEnvironment.java:1334)
    at com.sun.tools.javac.main.JavaCompiler.processAnnotations (JavaCompiler.java:1258)
    at com.sun.tools.javac.main.JavaCompiler.compile (JavaCompiler.java:936)
    at com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0 (JavacTaskImpl.java:104)
    at com.sun.tools.javac.api.JavacTaskImpl.handleExceptions (JavacTaskImpl.java:147)
    at com.sun.tools.javac.api.JavacTaskImpl.doCall (JavacTaskImpl.java:100)
    at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:94)
    at com.sun.tools.javac.api.JavacTaskImpl.call (JavacTaskImpl.java:72)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1128)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:628)
    at java.lang.Thread.run (Thread.java:834)

从querydsl依赖项中排除javax.inject并将其添加为普通依赖项后,它会进行编译,但会在开始时显示这些警告(所有NoSuchFileException:

EDIT 3: After excluding javax.inject from querydsl dependency and adding it as normal dependency, it compiles, but shows these warnings at the start (all NoSuchFileException:

...
Failed to scan [file:/C:/Users/USER/.m2/repository/com/sun/xml/ws/jaxws-rt/2.3.1/javax.annotation-api.jar] from classloader hierarchy
Failed to scan [file:/C:/Users/USER/.m2/repository/com/sun/xml/ws/jaxws-rt/2.3.1/javax.jws-api.jar] from classloader hierarchy
Failed to scan [file:/C:/Users/USER/.m2/repository/com/sun/xml/ws/jaxws-rt/2.3.1/jaxb-api.jar] from classloader hierarchy
ailed to scan [file:/C:/Users/USER/.m2/repository/com/sun/xml/ws/jaxws-rt/2.3.1/jaxws-api.jar] from classloader hierarchy
Failed to scan [file:/C:/Users/USER/.m2/repository/com/sun/xml/ws/jaxws-rt/2.3.1/javax.xml.soap-api.jar] from classloader hierarchy
Failed to scan [file:/C:/Users/USER/.m2/repository/com/sun/xml/ws/jaxws-rt/2.3.1/FastInfoset.jar] from classloader hierarchy
...

(以及来自com/sun/**的许多其他文件)

(and many others from com/sun/**)

然后是许多玻璃鱼,例如-仍然是NoSuchFileException

and then many from glassfish like - still NoSuchFileException

...
Failed to scan [file:/C:/Users/USER/.m2/repository/org/glassfish/ha/ha-api/3.1.9/asm-all-repackaged.jar] from classloader hierarchy
Failed to scan [file:/C:/Users/USER/.m2/repository/org/glassfish/ha/ha-api/3.1.9/hk2-api.jar] from classloader hierarchy
Failed to scan [file:/C:/Users/USER/.m2/repository/org/glassfish/ha/ha-api/3.1.9/osgi-resource-locator.jar] from classloader hierarchy
...

推荐答案

Tomcat Servler Jar扫描存在问题

通过添加包含tomcat配置的bean禁用扫描清单解决了问题

Problem was solved by adding the bean holding tomcat configuration disabling scanning manifest

@Bean
public TomcatServletWebServerFactory tomcatFactory() {
    return new CustomTomcatServletWebServerFactory();
}

static class CustomTomcatServletWebServerFactory extends TomcatServletWebServerFactory {

    @Override
    protected void postProcessContext(Context context) {
        ((StandardJarScanner) context.getJarScanner()).setScanManifest(false);
    }
}

该bean也可以是非静态的,但是如果您使用management.server.port属性(用于Spring Boot Admin应用程序等),则必须将该Tomcat配置设为静态.

The bean can be non-static too, but if you are using management.server.port property (for Spring Boot Admin app etc.), you have to make that Tomcat configuration static.

其他解决方案可以通过将其添加到Spring Boot应用程序的应用程序属性文件中来完成

The other solution can be done by adding this to application property file in Spring Boot application

server.tomcat.additional-tld-skip-patterns=*.jar

但是此解决方案将破坏对JSP或JSTL的支持!因此,如果必须在项目中使用这些技术,则必须在上面添加Bean.

But this solution will break JSP or JSTL support! So if you have to use these technologies in your project, you got to add the Bean above.

这篇关于从Java 8迁移到11-jaxws-rt的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆