百度云网盘-kyee_ye的分享

本文分享了通过百度云网盘存储和分享资源的方法。对比优快云的不便之处,百度云网盘提供了更为便捷的文件更新方式,只需替换原有文件即可实现更新,无需重新创建下载任务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

百度云网盘-kyee_ye的分享
https://pan.baidu.com/share/home?uk=3125087174#category/type=0

优快云的下载太差劲了,若要更新则必须重新创建下载项,加上曾经创建专辑失败,导致到目前都无法创建专辑!

还是百度云网盘方便,上载后分享出来即可,如有更新直接替换掉就行了!

 

我的百度云网盘有很多好东东哦,欢迎大家下载!

 [shares]   https://pan.baidu.com/s/1eTWTYD0

目前分享5个链接,链接目录分别如下:

[products]  https://pan.baidu.com/s/130O9o
[lib 4.x]   https://pan.baidu.com/s/1dVGobG
[lib 3.x]   https://pan.baidu.com/s/1dDu7nvN
[sources]   https://pan.baidu.com/s/1i3ziOap
[documents]  https://pan.baidu.com/s/1ba8pC

[2025-06-30 10:54:25,354] Artifact his:war exploded: Artifact is being deployed, please wait... 30-Jun-2025 10:54:29.973 严重 [RMI TCP Connection(4)-127.0.0.1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/his]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1736) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:483) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:432) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468) at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357) at sun.rmi.transport.Transport$1.run(Transport.java:200) at sun.rmi.transport.Transport$1.run(Transport.java:197) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:196) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NoClassDefFoundError: Lcom/kyee/his/base/cache/nb_ChgCache; at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2583) at java.lang.Class.getDeclaredFields(Class.java:1916) at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:110) at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:269) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationFilterAnnotations(WebAnnotationSet.java:109) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:68) at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:328) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:768) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:299) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5154) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) ... 44 more Caused by: java.lang.ClassNotFoundException: com.kyee.his.base.cache.nb_ChgCache at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1137) ... 57 more 30-Jun-2025 10:54:29.977 严重 [RMI TCP Connection(4)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke Exception invoking method manageApp java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/his]] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:758) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1736) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:483) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:432) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468) at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357) at sun.rmi.transport.Transport$1.run(Transport.java:200) at sun.rmi.transport.Transport$1.run(Transport.java:197) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:196) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) 30-Jun-2025 10:54:29.978 严重 [RMI TCP Connection(4)-127.0.0.1] org.apache.tomcat.util.modeler.BaseModelMBean.invoke Exception invoking method createStandardContext javax.management.RuntimeOperationsException: Exception invoking method manageApp at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:308) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:483) at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:432) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468) at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309) at java.security.AccessController.doPrivileged(Native Method) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357) at sun.rmi.transport.Transport$1.run(Transport.java:200) at sun.rmi.transport.Transport$1.run(Transport.java:197) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.Transport.serviceCall(Transport.java:196) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683) at java.security.AccessController.doPrivileged(Native Method) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/his]] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:758) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1736) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300) ... 35 more [2025-06-30 10:54:29,989] Artifact his:war exploded: Error during artifact deployment. See server log for details. 30-Jun-2025 10:54:35.255 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [E:\tomcat-8.5.34\apache-tomcat-8.5.34\webapps\manager] 30-Jun-2025 10:54:35.344 信息 [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 30-Jun-2025 10:54:35.384 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [E:\tomcat-8.5.34\apache-tomcat-8.5.34\webapps\manager] has finished in [129] ms 什么情况 怎么解决
最新发布
07-01
<think>我们正在解决Tomcat部署时出现的`NoClassDefFoundError: com/kyee/his/base/cache/nb_ChgCache`错误。这个错误表示在运行时找不到特定的类(nb_ChgCache)。根据之前的讨论和参考信息,我们可以按照以下步骤进行排查和解决:###问题分析: 1. **错误本质**:`NoClassDefFoundError`发生在编译时类存在,但运行时在类路径中找不到该类。这与`ClassNotFoundException`不同,后者是尝试加载类时找不到类(通常由ClassLoader显式抛出)。 2. **可能原因**:-该类所在的JAR包未包含在部署的WEB-INF/lib目录中。-类路径中存在多个版本的JAR包,导致冲突。-类文件在打包过程中未被正确包含(例如,Maven资源过滤问题)。-该类依赖的其他类缺失,导致该类初始化失败(此时会抛出`NoClassDefFoundError`,但根本原因是依赖的类缺失)。###解决步骤: ####步骤1:确认缺失的类所在的JAR包-类名:`com.kyee.his.base.cache.nb_ChgCache` -这个类应该是项目中的一个类,或者是某个依赖库中的类。首先确定它的来源:-如果是项目自身代码(位于`src/main/java`中),检查编译后的类文件是否被打包到WAR文件中。-如果是依赖库中的类,则需要确认该依赖库是否被正确引入。 ####步骤2:检查WAR包中的类文件1.解压WAR包(或直接用压缩软件打开):-进入`WEB-INF/classes`目录,查看是否有`com/kyee/his/base/cache/nb_ChgCache.class`文件(如果是项目自身类)。-进入`WEB-INF/lib`目录,检查是否包含包含该类的JAR包(如果是第三方库)。 2.如果该类是项目自身类,但未在`WEB-INF/classes`中找到:-检查构建过程(如Maven的构建日志)是否有编译错误。-确认Maven资源插件配置是否正确,确保源代码被编译并打包。####步骤3:检查依赖关系-如果该类来自某个依赖库,需要确认该依赖库是否在项目的构建配置(如pom.xml)中声明,并且作用域(scope)正确(不应是`provided`或`test`)。-使用Maven命令检查依赖树:```bashmvn dependency:tree```在输出中搜索包含该类的库(例如,搜索`kyee`或`nb_ChgCache`所在的包名)。####步骤4:解决依赖冲突-如果发现多个版本的同一JAR包,可能引起冲突。根据Maven依赖树,排除不需要的版本:```xml<dependency><groupId>group-a</groupId><artifactId>artifact-b</artifactId><version>1.0</version><exclusions><exclusion><groupId>group-c</groupId><artifactId>conflicting-artifact</artifactId></exclusion></exclusions></dependency>``` ####步骤5:清理和重新构建-清理项目并重新构建:```bashmvn cleanpackage```-重新部署WAR包到Tomcat。####步骤6:检查Tomcat的类加载机制-Tomcat的类加载顺序:Bootstrap →System →Common →WebApp。确保没有父加载器优先加载了错误版本的类。-检查`$CATALINA_HOME/lib`目录下是否有包含该类的JAR包(可能导致版本冲突)。###参考案例: 参考引用[1]中的解决方案:当出现`NoClassDefFoundError`时,通过检查WAR包中的lib目录确认JAR包是否存在,并升级依赖版本。类似地,我们可以:1.打开WAR包,检查`WEB-INF/lib`目录下是否有包含`com.kyee.his.base.cache`的JAR包(例如`his-base-cache.jar`)。2.如果不存在,则需要在pom.xml中添加该依赖。3.如果存在,检查版本是否正确,或者该JAR包是否损坏(重新构建)。 ###补充:类初始化失败的情况如果类`nb_ChgCache`在初始化时失败(例如,其静态块或静态变量初始化抛出异常),也会导致`NoClassDefFoundError`。此时需要查看Tomcat日志中是否有更早的异常(如`ExceptionInInitializerError`)。排查方法:-检查该类的静态初始化代码。-检查该类依赖的其他类或资源是否可用。###总结排查流程:```mermaidgraph TDA[Tomcat报错NoClassDefFoundError]--> B{类来源}B -->|项目自身类| C[检查WEB-INF/classes]B -->|依赖库|D[检查WEB-INF/lib]C -->|不存在| E[检查构建过程]D -->|不存在| F[检查pom.xml依赖]E -->G[重新构建并确认编译]F -->GG--> H[重新部署]C-->|存在|I[检查类初始化代码]D -->|存在| J[检查依赖冲突]I--> K[修复初始化异常]J -->L[排除冲突依赖]K -->HL--> H```###相关问题: 1.如何查看Tomcat的完整部署日志以定位ClassNotFound问题? 2. Maven打包时如何确保所有依赖正确包含?3.Tomcat类加载机制是怎样的?如何避免类加载冲突? 4.如何解决Java中的NoClassDefFoundError与ClassNotFoundException?</think>### 解决 Tomcat 部署报错 `NoClassDefFoundError: com/kyee/his/base/cache/nb_ChgCache` 此错误表明 Tomcat 在运行时找不到 `nb_ChgCache` 类。结合引用案例和部署经验,按以下步骤排查: --- #### **排查步骤** 1. **检查类文件是否被打包** ```bash # 解压或直接检查 WAR 包 unzip -l your-app.war | grep 'nb_ChgCache.class' ``` - 若输出为空 → 类未包含在部署包中 - 若有输出 → 检查类路径是否正确 2. **验证构建过程** - 检查 Maven/Gradle 是否包含该模块: ```xml <!-- Maven 示例:检查依赖 --> <dependency> <groupId>com.kyee</groupId> <artifactId>his-base-cache</artifactId> <version>1.0.0</version> <!-- 确认版本正确 --> </dependency> ``` - 执行清理重建: ```bash mvn clean package -DskipTests ``` 3. **检查部署结构** - 确认 Tomcat 的 `webapps/his/WEB-INF/lib` 包含相关 JAR: ```bash ls $CATALINA_HOME/webapps/his/WEB-INF/lib | grep 'his-base-cache' ``` - 若缺失 → 手动补充 JAR 到 `lib` 目录 4. **类加载冲突排查** - 检查依赖树: ```bash mvn dependency:tree -Dincludes=com.kyee:his-base-cache ``` - 若存在多版本 → 在 `pom.xml` 中显式声明正确版本: ```xml <dependency> <groupId>com.kyee</groupId> <artifactId>his-base-cache</artifactId> <version>1.0.0</version> <!-- 固定版本 --> <exclusions> <exclusion> <groupId>conflicting.group</groupId> <artifactId>conflicting-artifact</artifactId> </exclusion> </exclusions> </dependency> ``` --- #### **解决方案** 1. **补充缺失依赖** - 若 `his-base-cache.jar` 未打包: - 手动复制到 `WEB-INF/lib` - 或修复构建配置: ```xml <!-- Maven WAR 插件补充依赖 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> <packagingIncludes>WEB-INF/lib/his-base-cache*.jar</packagingIncludes> </configuration> </plugin> ``` 2. **修复作用域配置** - 确保依赖不是 `provided` 或 `test`: ```xml <dependency> <groupId>com.kyee</groupId> <artifactId>his-base-cache</artifactId> <version>1.0.0</version> <scope>compile</scope> <!-- 必须是 compile/runtime --> </dependency> ``` 3. **清除缓存** ```bash rm -rf $CATALINA_HOME/work/Catalina/localhost/his/ rm -rf $CATALINA_HOME/temp/* ``` 4. **验证类初始化** - 检查 `nb_ChgCache` 的静态代码块: ```java public class nb_ChgCache { static { // 此处若有异常会导致 NoClassDefFoundError } } ``` --- #### **预防措施** ```mermaid graph TD A[构建成功] --> B{运行时报错} B -->|NoClassDefFoundError| C[检查打包配置] C --> D[验证WEB-INF/lib内容] D -->|缺失JAR| E[补充依赖或修复构建] D -->|存在JAR| F[检查类加载冲突] F --> G[统一依赖版本] G --> H[清理缓存重启] ``` > **关键提示**:Tomcat 的 `NoClassDefFoundError` 80% 源于依赖作用域错误或构建配置遗漏[^1]。部署前务必使用 `mvn dependency:tree` 验证完整依赖树。 --- ### 相关问题 1. 如何检查 WAR 包中是否包含特定类文件? 2. Maven 依赖作用域(scope)的不同对 Tomcat 部署有何影响? 3. 如何用 `mvn dependency:tree` 诊断依赖冲突? 4. Tomcat 的 `work` 和 `temp` 目录在部署中的作用是什么? 5. 静态代码块中的哪些操作会导致 `NoClassDefFoundError`?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值