如果每次打war包都要把所有依赖jar放在WEB-INF/lib下,是很傻的做法,war包很大,也浪费内存。参考之前jboss上部署公共jar的经验,tomcat实现起来想来也不困难。

1. 参照maven插件--assembly把依赖jar单独打war包

2. 在tomcat下建立shared/lib目录,把依赖包放在此目录

3. tomcat conf目录下找到catalina.properties,写入shared.loader=${catalina.base}/shared/lib,${catalina.base}/shared/lib/*.jar

经过以上步骤,已经ok了

assembly打包的时候只关注

<scope>provided</scope>的依赖包,自己项目模块是<scope>compile</scope>,编译打出的应用war包WEB-INF/lib没有依赖的第三方jar,运行tomcat...

ps:1.运行后会发现打印的日志有异常,主要是因为shared/lib包由单独的类加载器加载,没找到日志配置就是用默认配置,把我们的logback.xml放在shared/lib就好了

  2.按照日志的思路,我们是不是也可以把配置文件放在shared/lib,spring容器也是可以找到的。在我们不想把服务器上的配置暴露给开发者时这种方式是很有必要的

tomcat部署公共jar包的更多相关文章

  1. 解决Eclipse发布到Tomcat丢失依赖jar包的问题

    解决Eclipse发布到Tomcat丢失依赖jar包的问题 如果jar文件是以外部依赖的形式导入的.Eclipse将web项目发布到Tomcat时,是不会自动发布这些依赖的. 可以通过Eclipse在 ...

  2. tomcat web工程 jar包冲突解决方法

    目前在部署工程时,遇到了一个问题,报错信息如下: See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet ...

  3. 解决Gradle生成Eclipse支持后,发布到Tomcat丢失依赖jar包的问题

    最近一个项目中,使用号称下一代构建工具的Gradle构建项目. 使用中发现一个问题,Gradle从中央库下载的jar文件在系统的其它目录,使用gradle eclipse添加Eclipse支持时,ja ...

  4. Eclipse中tomcat启动时报jar包 it's not a class错误;

    Console报错如上: 解决方法: 在Eclipse中Servers文件夹下 对应的项目文件中catalina.properties文件中tomcat.util.scan.DefaultJarSca ...

  5. IDEA 热部署 + 下载jar包放到maven中

    IDEA 热部署: 1 :  POM中加入devtools的依赖,就可以实现热部署 <dependency> <groupId>org.springframework.boot ...

  6. linux命令启动服务(tomcat服务或者jar包)

    启动tomcat: 1.方式一:直接启动 ./startup.sh 2.方式二:nohup ./startup.sh & 启动后,关闭当前客户端连接,重新启动一个查看是 否已经启动 启动jar ...

  7. tomcat发布时候jar包问题

    今天遇到个问题就是,启动tomcat时,报:java.lang.NullPointerException at org.apache.jsp.**_jsp.jspInit(index_jsp.java ...

  8. Spring Boot部署之jar包运行

    上篇阐述了Spring Boot war部署项目,本篇阐述另一种运行方式:jar包运行. 一.打jar包 1.修改pom.xml配置 2.执行package(对于module执行package之前需要 ...

  9. java项目部署之后,Jar包中配置文件修改

    Java项目发布时,配置文件不像.net项目一样与工程路径保持一致,而是直接包含在了jar包中,此时要修改就没那么方便了,我们可以将配置文件从jar包抽离出来,修改完之后再写入Jar包即可, 也没那么 ...

随机推荐

  1. RN页面获取组件位置和大小的方法

    在RN的页面布局和操作中,有时需要获取元素的大小和位置信息,本文从网上抄袭了几个常用方法,以备不时之需. 首先是获取设备屏幕的宽高 import {Dimensions} from 'react-na ...

  2. Spring Boot整合邮件发送

    概述 Spring Boot下面整合了邮件服务器,使用Spring Boot能够轻松实现邮件发送:整理下最近使用Spring Boot发送邮件和注意事项: Maven包依赖 <dependenc ...

  3. PHP AES的加密解密-----【弃用】

    mcrypt_decrypt在PHP7.*已经被弃用,取而代之的是openssl_decrypt/encrypt,请参考: PHP7.* AES的加密解密 AES加密算法 密码学中的高级加密标准(Ad ...

  4. mysql的坑

    mysql安装报错: 1.The service already exists! The current server installed: 因为mysql卸载不完全. 解决方法: C:\window ...

  5. 学习使人快乐5-JavaWeb应用的组成结构

    开发JavaWeb应用时,不同类型的文件有严格的存放规则,否则不仅可能会使web应用无法访问,还会导致web服务器启动报错 WebRoot →Web应用所在目录,一般情况下虚拟目录要配置到此文件夹当中 ...

  6. BZOJ3160 万径人踪灭 字符串 多项式 Manachar FFT

    原文链接http://www.cnblogs.com/zhouzhendong/p/8810140.html 题目传送门 - BZOJ3160 题意 给你一个只含$a,b$的字符串,让你选择一个子序列 ...

  7. UOJ#276. 【清华集训2016】汽水 二分答案 点分治

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ276.html 题解 首先,读入的时候就将所有的 $w_i$ 减掉 $k$ . 于是我们要求的就是平均值最 ...

  8. There is no getter for property named 'XXX' in 'class java.lang.String'解决方法

    <select id="ProjectHomePage" parameterType="string" resultType="java.uti ...

  9. 判断点在不在多边形范围内c#

    C# 计算地图上某个坐标点的是否在多边形内   这个方法引用自群友的博客 https://www.xiaofengyu.com/?p=143 使用百度地图的时候,常常会用到判断一个点是否在一个多边形的 ...

  10. angular.isString()

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...