我将 Spring Boot从1.2.0 升级到1.5.2.
在升级之后,Tomcat 8.5在启动期间抛出FileNotFoundException.
下面是其中一个例外,它引发了超过10个类似的例外.
我不知道这些罐子的用途,换句话说,我没有<dependency>在pom.xml中添加这些罐子.
INFO: Starting Servlet Engine: Apache Tomcat/8.5.11
Apr 06, 2017 3:53:57 PM org.apache.tomcat.util.scan.StandardJarScanner scan
WARNING: Failed to scan [file:/C:/Users/myname/.m2/repository/com/sun/xml/ws/jaxws-rt/2.1.7/jaxws-api.jar] from classloader hierarchy
java.io.FileNotFoundException: C:\Users\myname\.m2\repository\com\sun\xml\ws\jaxws-rt\2.1.7\jaxws-api.jar (The system cannot find the file specified)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:219)
at java.util.zip.ZipFile.<init>(ZipFile.java:149)
at java.util.jar.JarFile.<init>(JarFile.java:166)
at java.util.jar.JarFile.<init>(JarFile.java:130)
at org.apache.tomcat.util.scan.JarFileUrlJar.<init>(JarFileUrlJar.java:60)
at org.apache.tomcat.util.scan.JarFactory.newInstance(JarFactory.java:48)
at org.apache.tomcat.util.scan.StandardJarScanner.process(StandardJarScanner.java:338)
at org.apache.tomcat.util.scan.StandardJarScanner.scan(StandardJarScanner.java:288)
at …Run Code Online (Sandbox Code Playgroud) 启动Tomcat 8,我收到一个警告:
02-Aug-2017 11:14:21.363 WARNING [RMI TCP Connection(5)-127.0.0.1]
org.apache.tomcat.util.scan.StandardJarScanner.scan
Failed to scan
[file:/C:/Users/543829657/HomeTomcat/tomcat/lib/gdk_custom.jar] from
classloader hierarchy java.io.FileNotFoundException:
C:\Users\543829657\HomeTomcat\tomcat\lib\gdk_custom.jar
(The system cannot find the file specified)
Run Code Online (Sandbox Code Playgroud)
我找到的所有答案,建议gdk_custom.jar由Oracle 创建文件ginstall.我有限的谷歌搜索到近两年来,答案是因为在这里:
java -classpath $ORACLE_HOME/jlib/orai18n.jar:$ORACLE_HOME/lib/xmlparserv2.jar ginstall -add <Name of NLT file>
Run Code Online (Sandbox Code Playgroud)
但推出这条线:
>java -classpath c:/Oracle/jlib/orai18n.jar:c:/Oracle/lib/xmlparserv2.jar ginstall -add lx2dddd.nlt
Run Code Online (Sandbox Code Playgroud)
结果消息:
Error: Could not find or load main class ginstall
Run Code Online (Sandbox Code Playgroud)
我调查过了orai18n.jar.真的,没有ginstall它!Ginstall是orai18n-tools.jar.
>java -classpath orai18n-tools.jar Ginstall -add lx2dddd.nlt
Usage: Ginstall [-dOutputDir] <NLT file> ... …Run Code Online (Sandbox Code Playgroud) 在我的 spring boot 2.0 应用程序中,我的主应用程序在 1234 端口上侦听,我想让管理服务器在 1235 上运行。
所以在我的配置文件中,我设置:
management.server.port=1235
我的服务器无法启动,出现以下错误:
[ERROR] 2018-11-14 05:20:14.958 [main] SpringApplication - 应用程序运行失败 org.springframework.beans.FatalBeanException: ServletWebServerFactory implementation com.my.MyApplication$2 无法实例化。要允许使用单独的管理端口,应在 org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextFactory.determineServletWebServerFactoryClass(ServletManagementContextFactory.java:77) ~[ spring-boot-actuator-autoconfigure-2.1.0.RELEASE.jar:2.1.0.RELEASE] 在 org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagementContextFactory.registerServletWebServerFactory(ServletManagementContextFactory.java:64) ~[spring -boot-actuator-autoconfigure-2.1.0.RELEASE.jar:2.1.0.RELEASE] 在 org.springframework.boot。
如果我删除这个:
@Bean
public TomcatServletWebServerFactory containerFactory() {
return new TomcatServletWebServerFactory() {
@Override
protected void customizeConnector(Connector connector) {
int maxSize = 50000000;
super.customizeConnector(connector);
connector.setMaxPostSize(maxSize);
connector.setMaxSavePostSize(maxSize);
if (connector.getProtocolHandler() instanceof AbstractHttp11Protocol) {
((AbstractHttp11Protocol <?>) connector.getProtocolHandler()).setMaxSwallowSize(maxSize);
}
}
t
};
}
Run Code Online (Sandbox Code Playgroud)
那么它的工作原理。
如何解决这个问题呢?
谢谢!
我们有一个依赖项 (JAR),它包含一个引用其Class-Path条目中其他 JAR 的清单文件。应用程序不需要这些引用的其他 JAR,因此不会添加为依赖项。
当应用程序启动时,tomcat 尝试解析该类路径条目,最终会在日志中出现大量错误。喜欢:
The Class-Path manifest attribute in /Users/me/.m2/repository/org/bytedeco/javacpp-presets/openblas/0.3.3-1.4.3/openblas-0.3.3-1.4.3.jar referenced one or more files that do not exist: file:/Users/me/.m2/repository/org/bytedeco/javacpp-presets/openblas/0.3.3-1.4.3/javacpp.jar
The Class-Path manifest attribute in /Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-platform/2019.0-1.4.3/mkl-platform-2019.0-1.4.3.jar referenced one or more files that do not exist: file:/Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-platform/2019.0-1.4.3/mkl.jar,file:/Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-platform/2019.0-1.4.3/mkl-linux-x86.jar,file:/Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-platform/2019.0-1.4.3/mkl-linux-x86_64.jar,file:/Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-platform/2019.0-1.4.3/mkl-macosx-x86_64.jar,file:/Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-platform/2019.0-1.4.3/mkl-windows-x86.jar,file:/Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-platform/2019.0-1.4.3/mkl-windows-x86_64.jar
The Class-Path manifest attribute in /Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl/2019.0-1.4.3/mkl-2019.0-1.4.3.jar referenced one or more files that do not exist: file:/Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl/2019.0-1.4.3/javacpp.jar
The Class-Path manifest attribute in /Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-dnn-platform/0.16-1.4.3/mkl-dnn-platform-0.16-1.4.3.jar referenced one or more files that do not exist: file:/Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-dnn-platform/0.16-1.4.3/mkl-dnn.jar,file:/Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-dnn-platform/0.16-1.4.3/mkl-dnn-linux-x86_64.jar,file:/Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-dnn-platform/0.16-1.4.3/mkl-dnn-macosx-x86_64.jar,file:/Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-dnn-platform/0.16-1.4.3/mkl-dnn-windows-x86_64.jar
The Class-Path manifest attribute in /Users/me/.m2/repository/org/bytedeco/javacpp-presets/mkl-platform/2019.0-1.4.3/mkl-platform-2019.0-1.4.3.jar referenced …Run Code Online (Sandbox Code Playgroud)