Миграция с java 8 до 11 - jaxws-rt - PullRequest
       77

Миграция с java 8 до 11 - jaxws-rt

1 голос
/ 25 февраля 2020

Я перешел с Java 8 на Java 11 и обнаружил, что некоторые библиотеки Java EE устарели, и вместо этого я должен использовать некоторые сторонние зависимости.

Так что я Добавили эти зависимости в 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. Но когда я начинаю сборку, появляется множество предупреждений, подобных этому

java .io.IOException: java .lang.reflect.InvocationTargetException at org. apache .tomcat.util .compat.Jre9Compat.jarFileNewInstance (Jre9Compat. java: 236) в орг. apache .tomcat.util.scan.JarFileUrlJar. (JarFileUrlJar. java: 65) в орг. apache .tomcat.util scan.JarFactory.newInstance (JarFactory. java: 49) в орг. apache .tomcat.util.scan.StandardJarScanner.process (StandardJarScanner. java: 374) в орг. apache .tomcat.util. scan.StandardJarScanner.processURLs (StandardJarScanner. java: 309) в орг. apache .tomcat.util.scan.StandardJarScanner.doScanClassPath (StandardJarScanner. java: 278) в орг. apache .om. scan.StandardJarScanner.scan (StandardJarScanner. java: 229) в орг. apache .jasper.servlet.TldScanner.scanJars (TldScanner. java: 262) в орг. apache .jasper.servlet.TldScanner. сканирование (TldScanner. java: 104) в орг. apache .jasper.servlet.JasperInitializer.onStartup (JasperInitializer. java: 83) в орг. apache .catalina. core.StandardContext.startInternal (StandardContext. java: 5135) в орг. apache .catalina.util.LifecycleBase.start (LifecycleBase. java: 183) в орг. 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) в орг. apache .tomcat.util.threads.InlineExecutorService.execute (InlineExecutorService. java: 75) в java .base / java. util.concurrent.AbstractExecutorService.submit (AbstractExecutorService. java: 140) в орг. apache .catalina.core.ContainerBase.startInternal (ContainerBase. java: 909) в орг. apache .catalina.core. StandardHost.startInternal (StandardHost. java: 841) в орг. apache .catalina.util.LifecycleBase.start (LifecycleBase. java: 183) в орг. apache .catalina.core.ContainerBase $ StartChild. вызов (ContainerBase. java: 1384) в орг. 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) в орг. apache .catalina.util.LifecycleBase.start (LifecycleBase. java: 183) в орг. apache .catalina. core.StandardServer.startInternal (StandardServer. java: 930) в орг. apache .catalina.util.LifecycleBase.start (LifecycleBase. java: 183) в орг. apache .catalina.startup.Tomcat. начать (Tomcat. java: 459) в org.springframework.boot.web.embedded.tomcat.TomcatWebServer.initialize (TomcatWebServer. java: 107) в org .springframework.boot.web. springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory.getWebServer (TomcatServletWebServerFactory. java: 191) в org.springframework.boot.web.servlet.context.ServerletWeb createWebServer (ServletWebServerApplicationContext. java: 180) по адресу org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.onRefre sh (ServletWebServerApplicationContext.pp.conf. sh (AbstractApplicationContext. java: 544) по адресу org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refre sh (ServletWebServerApplicationContext. java: 141). sh (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.exxt. ngframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext (DefaultCacheAwareContextLoaderDelegate. java: 124) в org.springframework.test.context.support.DefaultTestContext. test.mock.mockito.MockitoTestExecutionListener.postProcessFields (MockitoTestExecutionListener. java: 95) на org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener.injectFields * test.mock.mockito. 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.ClassBasedTestDescriptBest. *: 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 7: 735): ) на java .base / java .util.stream. Потоки $ 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.instantiateAndPostProcessTestInstor.jpg.jpg .jpg .jpg .jpg ClassBasedTestDescriptor.lambda $ testInstancesProvider $ 2 (ClassBasedTestDescriptor. java: 252) в java .base / java .util.Optional.orElseGet (Необязательно. java: 369) в org.junit.jupiteror.engine. .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.form.ch.jin. , (TestMethodTestDescriptor. java: 69) в org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ prepare $ 1 (NodeTestTask. java: 107) в org.junit.platform.engine.support.hierarch. ThrowableCollector.execute (ThrowableCollector. java: 73) в org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare (NodeTestTask. java: 107) в org.junit.platform.engine.chpport. NodeTestTask.execute (NodeTestTask. java: 75) в java .base / java .util.ArrayList.forEach (ArrayList. java: 1540) в org.junit.pl atform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll (SameThreadHierarchicalTestExecutorService. java: 38) в org.junit.platform.engine.support.hierarchical.NodeTestTask.ecasly 13tg .junit.platform.engine.support.hierarchical.ThrowableCollector.execute (ThrowableCollector. java: 73) в org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 7 (узел 125): узел 125 ) в org.junit.platform.engine.support.hierarchical.Node.around (Node. java: 135) в org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 8 (NodeTestTask. 1200) *: 123) в org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute (ThrowableCollector. java: 73) в org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively (. *: 122) в org.junit.platform.engine.support.hierarchical.NodeTestTask.execute (NodeTestTask. java: 80) в java .base / * 1 205 * .util.ArrayList.forEach (ArrayList. java: 1540) по адресу org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll (SameThreadHierarchicalTestExecutorService. * Org.jpg): * 1207 .support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 5 (NodeTestTask. java: 139) в org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute (ThrowableCollector. java 73): 73 или platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 7 (NodeTestTask. java: 125) в org.junit.platform.engine.support.hierarchical.Node.around (Узел. java: 135) в орг. .junit.platform.engine.support.hierarchical.NodeTestTask.lambda $ executeRecursively $ 8 (NodeTestTask. java: 123) в org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute: Thorable. Throwable. ) в org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively (NodeTestTask. java: 122) в org.junit.platform.engine.support.hierarchi cal.NodeTestTask.execute (NodeTestTask. java: 80) в org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit (SameThreadHierarchicalTestExecutorService. javasu.t. ierarchical.HierarchicalTestExecutor.execute (HierarchicalTestExecutor. java: 57) в org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute (HierarchicalTestEngine. java: 51) в orgc.jun.unc. 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. выполнить (DefaultLauncher. java: 181) в org.junit.platform.launcher.core.DefaultLauncher.execute (DefaultLauncher. java: 128) в орг. apache .maven.surefire.junitplatform.JUnitPlatformProvider.invoke JUnitPlatformProvider. java: 150) в орг. apache .maven.surefire.junitplatform.JUnitPlatformProvider.invoke (JUnitPlatformProvider. java: 124) в орг. apache .maven.surefire.boorovO ForkedBooter. java: 384) в орг. apache .maven.surefire.booter.ForkedBooter.runSuitesInProcess (ForkedBooter. java: 345) в орг. apache .maven.surefire.booter.ForkedBooter.execute ( ForkedBooter. java: 126) в организации. apache .maven.surefire.booter.ForkedBooter.main (ForkedBooter. java: 418) Причина: java .lang.reflect.InvocationTargetException: пусто в java .base / jdk.internal.reflect.GeneratedConstructorAccessor80.newInstance (неизвестный источник) в java .base / jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl. java: 45b). ase / java .lang.reflect.Constructor.newInstance (Конструктор. java: 490) в орг. 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 at 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 $ Basi c .readAttributes (WindowsFileAttributeViews. java: 53) в java .base / sun.nio.fs.WindowsFileAttributeViews $ Basi c .readAttributes (WindowsFileAttributeViews. java: 38) в java .base / sun.nio.fs.WindowsFileSystemProvider.readAttributes (WindowsFileSystemProvider. java: 198) в java .base / java .nio.file.Files.readAttributes (Files. java: 176 3) в 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 общих фреймов опущено

Плагин jaxws-rt должен загружать с раскаянием или нет?

В следующих исключениях отсутствуют отсутствующие файлы в пакете ha-API и еще один отсутствующий файл в этих зависимостях jaxws-rt, таких как:

Причина: java .lang.NoClassDefFoundError: Could не инициализировать класс com.jayway.jsonpath.internal.DefaultsImpl

Если я импортирую эту зависимость hp api, проблема не исчезнет. Понятия не имею, что делать, есть кто-нибудь, кто мог бы помочь?

РЕДАКТИРОВАТЬ:

Папка содержит эти файлы внутри enter image description here

EDIT2:

После того, как я исключил зависимость для инъекций из обоих артефактов QueryDsl (apt и jpa), я не могу установить. Вот ошибка, которую я получаю:

Нет другого javax.inject в дереве зависимостей после исключения этой зависимости из обоих артефактов querydsl.

Ошибка возникает при построении объектов "Q" (использовались QEntities в запросах querydsl)

[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)

РЕДАКТИРОВАТЬ 3: После исключения javax.inject из зависимости querydsl и добавления его в качестве нормальной зависимости он компилируется, но показывает эти предупреждения в начале (все исключения 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 / **)

, а затем многие из glassfi sh вроде - по-прежнему 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
...

1 Ответ

0 голосов
/ 03 марта 2020

Проблема была со сканированием Jar Tomcat Servler

Проблема была решена путем добавления конфигурации bean, удерживающей конфигурацию Tomcat, отключающей манифест сканирования

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

static class CustomTomcatServletWebServerFactory extends TomcatServletWebServerFactory {

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

Бин может быть не stati c тоже, но если вы используете свойство management.server.port (для приложения Spring Boot Admin и т. д. c.), вам необходимо настроить эту конфигурацию Tomcat как stati c.

. Другое решение может сделать это, добавив это в файл свойств приложения в Spring Boot application

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

Но это решение нарушит поддержку JSP или JSTL! Так что если вам придется использовать эти технологии в вашем проект, вы должны добавить Бин выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...