记maven打包加入外部jar后tomcat运行失败问题
环境:maven 3.8.0 .tomcat 8.5.30
因为项目需要额外的引用外部jar,需要打包到war中。
所以在pom中加入了
<webResources>
<resource>
<directory>
${project.basedir}/src/main/resources/lib
</directory>
<targetPath>WEB-INF/lib</targetPath>
<filtering>true</filtering>
<includes>
<include>*.jar</include>
</includes>
</resource>
</webResources>
打包后war包中存在需要的jar了。
ok 放到tomcat中运行。发现运行报错:
error in opening zip file ....
因为是新加入这段后出现的问题。所以先把这段去掉,然后启动报缺失jar后,手动将需要的jar添加到WEB-INF/lib中后。发现一切正常。
至此问题确定在这段pom内容中了。
一顿操作,发现去除
<filtering>true</filtering>
后没有问题了。
具体原因是因为开启filtering功能后,会破坏有二进制内容的文件。所以在tomcat 读取里面的jar的时候出现这个错误
具体学习filtering的内容可以去看http://t.zoukankan.com/atai-p-6933966.html
里面详细的讲了profile和filtering的作用与坑位。
记maven打包加入外部jar后tomcat运行失败问题的更多相关文章
- springboot(六) Maven打包引入本地jar包
springboot Maven打包引入本地jar包 最近在做项目的时候,有一些jar包不存在maven的依赖库中,所以需要自己引入本地jar包来达到需求,那么我们该如何去将本地的jar包引入s ...
- 记一次Tomcat运行失败记录
记一次Tomcat运行失败记录 如图tomcat运行之后会出现这样的情况,在网上百度之后大部分都说的是web.xml或者其他配置文件的问题,但是根据网上修改了之后却还是老样子. 这里有比较好的网址可以 ...
- maven项目引用外部jar包的方法
问题描述: 有一个java maven web项目,需要引入一个第三方包gdal.jar,但是这个包是自己打包的,在maven中央库里面找不到该包,因此我采用传统的方式,将这个包拷贝到:项目名称\sr ...
- maven工程引用外部jar包
maven工程经常回遇到引用外部jar包,需要先安装在jar包,然后再在工程中pom.xml文件中添加依赖. 示例: 命令行中运行: mvn install:install-file -Dfile=E ...
- maven打包源代码sources.jar和javadoc.jar帮助文档
maven中如何打包源代码 *-sources.jar 方式一 : 命令行方式 进入cmd命令行,进入项目工程pom.xml所在路径目录,运行mvn source:jar 和 mvn javado ...
- maven打包可执行jar文件运行报错
起因 项目中同时依赖了Spring和MyBatis,并使用mybatis-spring集成MyBatis和Spring. 使用maven打包为可执行jar文件运行,打包插件为:maven-shade- ...
- 【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包
http://blog.csdn.net/u013177446/article/details/54134394 ******************************************* ...
- 使用maven打包额外的jar
当使用maven打包的时候,部分自己的额外使用的在maven基础库里面是没有的时候: 参考: https://blog.csdn.net/hguisu/article/details/5107268 ...
- maven项目引入外部jar包的三种方式
方式1:dependency 本地jar包 <dependency> <groupId>com.hope.cloud</groupId> <!--自定义--& ...
- maven项目引入外部jar包
方式1:dependency 本地jar包 <dependency> <groupId>com.hope.cloud</groupId> <!--自定义--& ...
随机推荐
- 软工综合实践课设——员工招聘系统(参考BOSS直聘);Pyhton实现
应用背景: 随着科学技术的发展,岗位数量越来越多,特别是每逢毕业季找工作的人数也很多,如果人们找工作或者企业招人靠纯手工的话,费时费力,仅仅是筛选简历和费劲,并且员工找工作投简历可能得需要克服时间和空 ...
- FAQ Selenium中提示can not connect to the service chromedriver 的解决方法
can not connect to the service chromedriver问题的处理 背景 一个同学反馈运行如下代码 from selenium import webdriver ...
- Appium资源汇总
Appium资源汇总 created: 2022-8-4 软件 网址 说明 https://github.com/appium/appium-inspector/releases 检查器的下载路径 h ...
- 分布式配置nacos搭建踩坑指南(下)
上一篇介绍了在配置nacos中的碰到的坑,这一篇介绍一下如何正确进行nacos的环境搭建和配置,所以本文分为两部分,第一部分为环境搭建,介绍如何安装和运行.第二部分为alibaba Sprint Bo ...
- Mybatis Plus 框架项目落地实践总结
在使用了Mybatis Plus框架进行项目重构之后,关于如何更好的利用Mybatis plus.在此做一些总结供大家参考. 主要总结了以下这几个方面的实践. 基础设计 BaseEntity 逻辑删除 ...
- HACKNOS: RECONFORCE (V1.1)
HACKNOS: RECONFORCE (V1.1) 目录 HACKNOS: RECONFORCE (V1.1) 1 信息收集 1.1 端口扫描 1.2 ftp分析 1.3 后台目录扫描 1.2.1 ...
- 在线工具帮助医生在社区转诊时甄别SpA患者
在线工具帮助医生在社区转诊时甄别SpA患者 Habibi S, et al. Rheumatology 2016. Present ID: 202. 背景:目前已开发了多种转诊策略以优化脊柱关节炎(S ...
- 【论文笔记】UNet
语义分割的U-Net网络结构Unet是2015年诞生的模型,它几乎是当前segmentation项目中应用最广的模型.Unet能从更少的训练图像中进行学习,当它在少于40张图的生物医学数据集上训练时, ...
- JS弹窗遮罩 POP
html: <div class="popBox"> <div class="pb"> <span class="clo ...
- left join(二)
left join 通俗的解释:以左表为主表,返回左表的所有行,如果右表中没有匹配,则依然会有左表的记录,右表字段用null填充.看起来非常好理解,但实际操作的过程中可能会有一些很容易被忽略的点. 一 ...