Java 带有JDK 11的TOMCAT 7.0.92:-错误localhost-startStop-1 org.apache.catalina.startup.ContextConfig-无法处理Jar tools.Jar的注释

Java 带有JDK 11的TOMCAT 7.0.92:-错误localhost-startStop-1 org.apache.catalina.startup.ContextConfig-无法处理Jar tools.Jar的注释,java,tomcat,tomcat7,java-11,Java,Tomcat,Tomcat7,Java 11,我们有一个在Tomcat服务器容器上运行的web应用程序。Web应用程序被编译并使用JDK11作为运行时JRE来执行 Tomcat版本:-7.0.92 JDK版本:-11 问题描述:- 1.我们在tomcat服务器启动时看到tomcat日志中关于jar扫描的错误。 2.一旦Tomcat服务器通过我们的web应用程序启动,它就会在Tools.jar中搜索注释。 3.众所周知,JDK 11已经停止了包含tools.jar的JRE的发布/捆绑,Tomcat服务器报告了一个错误 以下:-- 错误loca

我们有一个在Tomcat服务器容器上运行的web应用程序。Web应用程序被编译并使用JDK11作为运行时JRE来执行

Tomcat版本:-7.0.92 JDK版本:-11

问题描述:- 1.我们在tomcat服务器启动时看到tomcat日志中关于jar扫描的错误。 2.一旦Tomcat服务器通过我们的web应用程序启动,它就会在Tools.jar中搜索注释。 3.众所周知,JDK 11已经停止了包含tools.jar的JRE的发布/捆绑,Tomcat服务器报告了一个错误 以下:--

错误localhost-startStop-1 org.apache.catalina.startup.ContextConfig-无法处理Jar[Jar:file:/C:/JDK11/lib/tools.Jar!/]以获取注释
java.nio.file.NoSuchFileException:C:\JDK11\lib\tools.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:194)
位于java.base/java.nio.file.Files.readAttributes(Files.java:1763)
位于java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1222)
位于java.base/java.util.zip.ZipFile$CleanableResource(ZipFile.java:824)
位于java.base/java.util.zip.ZipFile$CleanableResource$FinalizableResource。(ZipFile.java:850)
位于java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:839)
位于java.base/java.util.zip.ZipFile(ZipFile.java:246)
位于java.base/java.util.zip.ZipFile(ZipFile.java:176)
位于java.base/java.util.jar.JarFile。(JarFile.java:346)
位于java.base/sun.net.www.protocol.jar.URLJarFile.(URLJarFile.java:103)
位于java.base/sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:72)
位于java.base/sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:109)
位于java.base/sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:125)
位于java.base/sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:92)
位于org.apache.tomcat.util.scan.FileUrlJar.(FileUrlJar.java:48)
位于org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:34)
位于org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1957)
位于org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1932)
位于org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1917)
位于org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1322)
位于org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
位于org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
位于org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
位于org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
位于org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5566)
位于org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1707)
位于org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1697)
位于java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
位于java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
位于java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
位于java.base/java.lang.Thread.run(Thread.java:834)
解决方案/解决方法:-在谷歌上发布广泛搜索 和其他社区,我们发现一个财产建议 在catalina.properties文件中应用,这将有助于避免 扫描所有的罐子。 org.apache.catalina.startup.ContextConfig.jarsToSkip=*.jar我们已经有了这个属性,即使这样也无助于解决问题 这个问题

因此,我们请求您提供一些关于该问题的见解/工作解决方案。如果需要更多信息,请回复


感谢您的合作

将您的JDK降级到JDK 8(tools.jar已在JDK 9中删除),或者尝试将您的tomcat版本升级到8或9版

我看不出有什么理由在有其他稳定版本的情况下使用旧版本的tomcat(tomcat 7在2011年宣布稳定!)。避免新旧技术混用,因为它们彼此分离,就像你的情况一样

旧版本的tomcat将与新版本的java不兼容


长话短说,试试tomcat 8或9。

将您的JDK降级到JDK 8(tools.jar在JDK 9中被删除),或者尝试将您的tomcat版本升级到版本8或9

我看不出有什么理由在有其他稳定版本的情况下使用旧版本的tomcat(tomcat 7在2011年宣布稳定!)。避免新旧技术混用,因为它们彼此分离,就像你的情况一样

旧版本的tomcat将与新版本的java不兼容


长话短说,试试tomcat 8或9。

您应该将您的tomcat与其运行的JVM相匹配。尝试Tomcat 9您应该将您的Tomcat与其运行的JVM相匹配
ERROR localhost-startStop-1 org.apache.catalina.startup.ContextConfig - Unable to process Jar [jar:file:/ C:/JDK11/lib/tools.jar!/] for annotations
 java.nio.file.NoSuchFileException: C:\JDK11\lib\tools.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:194)
    at java.base/java.nio.file.Files.readAttributes(Files.java:1763)
    at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1222)
    at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:824)
    at java.base/java.util.zip.ZipFile$CleanableResource$FinalizableResource.<init>(ZipFile.java:850)
    at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:839)
    at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:246)
    at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:176)
    at java.base/java.util.jar.JarFile.<init>(JarFile.java:346)
    at java.base/sun.net.www.protocol.jar.URLJarFile.<init>(URLJarFile.java:103)
    at java.base/sun.net.www.protocol.jar.URLJarFile.getJarFile(URLJarFile.java:72)
    at java.base/sun.net.www.protocol.jar.JarFileFactory.get(JarFileFactory.java:109)
    at java.base/sun.net.www.protocol.jar.JarURLConnection.connect(JarURLConnection.java:125)
    at java.base/sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:92)
    at org.apache.tomcat.util.scan.FileUrlJar.<init>(FileUrlJar.java:48)
    at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:34)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsJar(ContextConfig.java:1957)
    at org.apache.catalina.startup.ContextConfig.processAnnotationsUrl(ContextConfig.java:1932)
    at org.apache.catalina.startup.ContextConfig.processAnnotations(ContextConfig.java:1917)
    at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1322)
    at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:388)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
    at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5566)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1707)
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1697)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)