`
jamesby
  • 浏览: 383442 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

关于web-inf/classes的优先级高于web-inf/lib的优先级

    博客分类:
  • Java
阅读更多
背景

一直以来都知道web-inf/classes的优先级高于web-inf/lib的优先级,但是实际却未必真的注意了.

因为程序每天都需要更新发布,而且服务器处于托管状态,网络传输速度慢,因此更新系统的时候每次都是将配置文件和classes下面的文件进行覆盖操作.

如上方式部署就产生了一个问题,本来我的系统里面有一些通用类,最近打包成lib方式以供其它应用使用,而且这个包不断的更新.

将该包部署后发现我的系统总是报class的方法找不到,最后查到原因是因为我的应用的classes下面的class与包里面的class重名,因为classloader会优先加载classes下面的class所致.

解决办法

将classes下面的对应的classes删除,根本解决办法,每次将classes下面的全部删除,然后重新拷贝,而不是简单覆盖.
分享到:
评论

相关推荐

    spring boot加载资源路径配置和classpath问题解决

    Tomcat下的Web应用有两个预置的Classpath:WEB-INF/classes和WEB-INF/lib。启动项目,项目就会加载这两个目录里的数据。这是war包的规范。要改变预置的Classpath比较麻烦,在Tomcat的配置文件里没有发现类似的配置...

    Java 类在 Tomcat 中是如何加载的(过程分析)

    - **Eclipse中的类加载优先级**:在Eclipse中,`src`目录下的Java源代码会被编译并放置在`WEB-INF/classes`下,因此会优先于`WEB-INF/lib`中的jar包中的类加载。 - **类冲突**:在`CATALINA_HOME/lib`和`WEB-INF/...

    将应用部署在weblogic中于axis2冲突的问题及解决方案

    DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd"> <weblogic-web-app > <container-descriptor> ...

    tomcat-memcached所需jar包

    - 应用中的类加载优先级:当前Web应用的类 -> WEB-INF/classes -> WEB-INF/lib中的jar包 -> 全局共享的Common类库。 6. **测试与优化** - 集成完成后,需要进行测试以确保能正常连接和使用Memcached。 - 考虑...

    Struts+Spring+Hibernate补充内容

    特别是当涉及到Tomcat服务器下的`/WEB-INF/lib`目录中的第三方库版本不一致时,这种冲突会更加明显。例如,提到的`asm-2.2.3.jar`和`commons-collections-2.1.1.jar`文件就可能引发此类问题。 **解决方法:** - ...

    Tomcat加载顺序

    WebApp ClassLoader是最底层的类加载器,它负责加载每个web应用的`WEB-INF/classes`目录和`WEB-INF/lib`目录下的类库。每个web应用都有一个独立的WebApp ClassLoader,这保证了不同应用之间的类隔离性。 #### 类...

    Log4j自己配置.doc

    接下来,获取Log4j的jar包,如log4j-1.2.14.jar,并将其放置在项目工程的/WEB-INF/lib目录下。在Eclipse或其他IDE中,刷新项目以确保IDE识别到这个库,并将其添加到Java构建路径。 配置Log4j的关键步骤是创建Log4j....

    Tomcat.ClassLoader.rar_Java编程_Java_

    1. 尝试从当前Web应用的WEB-INF/classes目录和WEB-INF/lib下的jar文件加载。 2. 如果找不到,会委托给上一级的ClassLoader,通常是Common ClassLoader,加载全局共享的类库。 3. 如果还是找不到,继续向上委托,直到...

    JIRA培训学习资料、JIRA学习总结

    安装完成后,可能需要进行一些初始设置,例如修改`atlassian-jira/WEB-INF/classes/entityengine.xml`中的数据源配置,确保其指向MySQL,并将MySQL驱动添加到`common/lib`目录下。启动JIRA服务可以通过执行安装目录...

    JAVA面试笔试问题

    17. **Web容器加载类的方式**:容器首先加载$JAVA_HOME/jre/lib/ext目录下的jar文件,然后是WEB-INF/lib目录下的jar文件,最后加载WEB-INF/classes目录下的类文件。优先级:ext > lib > classes。

    cms后台管理

    <param-value>/WEB-INF/config/jeecms-servlet-front.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <servlet-mapping> <servlet-name>JeeCmsFront</servlet-name> <url-...

    Servlet JSP开发运行环境配置

    - 编写并编译 Servlet 类,例如 `Hello.java`,并将编译后的 `.class` 文件放置在 `Tomcat 安装目录\webapps\myweb\WEB-INF\classes\` 目录下。 - 在 `web.xml` 文件中添加 `<servlet>` 和 `<servlet-mapping>` ...

    servlet ppt学习文档

    3. 部署Servlet,创建符合Web应用程序目录结构的文件夹,包括WEB-INF目录,其中包含classes子目录存放编译后的Servlet类文件,lib子目录存放其他依赖库,以及web.xml配置文件。 4. web.xml是Web应用的部署描述符,...

    Servlet

    构建Web应用程序目录结构,通常包含`WEB-INF`目录,下设`classes`、`lib`子目录用于存放编译后的Servlet类文件和库文件,以及静态资源文件(HTML、JSP等)。 #### 四、Servlet配置文件web.xml解析 `web.xml`是Web...

    todolist待办事项

    此外,`WEB-INF`下可能还有lib目录,存放项目依赖的JAR库,以及classes目录,包含了编译后的Java类文件。 总的来说,“todolist待办事项”是一个采用Java和SpringBoot技术实现的待办事项管理应用,它通过前后端分离...

    Servlet&JSP学习笔记

    - `WEB-INF`: 包含应用的核心配置文件 `web.xml` 和其他非公开资源,如 `classes` 目录、`lib` 目录等。 - `web.xml`: 应用程序的部署描述文件。 - `lib`: 存放应用所需的第三方库 `.jar` 文件。 - `classes`: ...

    Servlet生命周期

    - **装载时机**:Servlet 类(.class 文件)必须放置在 Web 应用的 `WEB-INF\classes` 目录下或打包的 jar 文件放在 `WEB-INF\lib` 下才能被服务器加载。 - **创建时机**: - 默认情况下,当第一个客户端请求到达时...

    新版Android开发教程.rar

    � MVC 和 Web APP 架构 Android Android Android Android 开发背景 � 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的...

Global site tag (gtag.js) - Google Analytics