环境: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运行失败问题的更多相关文章

  1. springboot(六) Maven打包引入本地jar包

       springboot Maven打包引入本地jar包 最近在做项目的时候,有一些jar包不存在maven的依赖库中,所以需要自己引入本地jar包来达到需求,那么我们该如何去将本地的jar包引入s ...

  2. 记一次Tomcat运行失败记录

    记一次Tomcat运行失败记录 如图tomcat运行之后会出现这样的情况,在网上百度之后大部分都说的是web.xml或者其他配置文件的问题,但是根据网上修改了之后却还是老样子. 这里有比较好的网址可以 ...

  3. maven项目引用外部jar包的方法

    问题描述: 有一个java maven web项目,需要引入一个第三方包gdal.jar,但是这个包是自己打包的,在maven中央库里面找不到该包,因此我采用传统的方式,将这个包拷贝到:项目名称\sr ...

  4. maven工程引用外部jar包

    maven工程经常回遇到引用外部jar包,需要先安装在jar包,然后再在工程中pom.xml文件中添加依赖. 示例: 命令行中运行: mvn install:install-file -Dfile=E ...

  5. maven打包源代码sources.jar和javadoc.jar帮助文档

    maven中如何打包源代码 *-sources.jar 方式一 :   命令行方式 进入cmd命令行,进入项目工程pom.xml所在路径目录,运行mvn source:jar 和 mvn javado ...

  6. maven打包可执行jar文件运行报错

    起因 项目中同时依赖了Spring和MyBatis,并使用mybatis-spring集成MyBatis和Spring. 使用maven打包为可执行jar文件运行,打包插件为:maven-shade- ...

  7. 【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包

    http://blog.csdn.net/u013177446/article/details/54134394 ******************************************* ...

  8. 使用maven打包额外的jar

    当使用maven打包的时候,部分自己的额外使用的在maven基础库里面是没有的时候: 参考:  https://blog.csdn.net/hguisu/article/details/5107268 ...

  9. maven项目引入外部jar包的三种方式

    方式1:dependency 本地jar包 <dependency> <groupId>com.hope.cloud</groupId> <!--自定义--& ...

  10. maven项目引入外部jar包

    方式1:dependency 本地jar包 <dependency> <groupId>com.hope.cloud</groupId> <!--自定义--& ...

随机推荐

  1. .Net7运行模型之托管Main函数的调用

    前言: .Net7的CLR最具特色的一个地方,就是运行模型.因为它主宰了整个CLR的运行过程. 又因为其庞大的代码量,有的几十万行甚至百万行.所以理解起来非常不容易.本篇拆分来看下,里面一个细节Mai ...

  2. MySQL索引相关知识学习心得

    你知道的越多,你不知道的也就越多 -- 芝诺曾 一.MySQL索引学习 MySQl主要有两种类型的索引:哈希索引.B+树索引 1.哈希索引 哈希索引可以以O(1)的时间复杂度进行查找,但是这样查找导致 ...

  3. Linux 用户组管理

    用户组 群组是大家都熟悉的东西,群组有群主,也就是创建者.群管理员有一定的管理权限,比如上传群文件.管理成员等权限:群成员也有一定的权限,比如下载群文件. 私有组 一般来说,每一个用户都有自己的一个初 ...

  4. 04#Web 实战:Gitee 贡献图

    前言 这次要做的 Web 前端实战是一个 Gitee 个人主页下的贡献图(在线 Demo),偶尔做一两个,熟悉熟悉 JS 以及 jQ.整体来说这个案例并不难,主要是控制第一个节点以及最后一个节点处于星 ...

  5. Linux命令使用时路径存在空格、特殊符号

    https://blog.csdn.net/Homewm/article/details/102935965 Linux命令使用时路径存在空格.特殊符号(如-.@等等)如何处理呢? 再如可以转义的字符 ...

  6. centos7配置vue环境

    1.安装nodejs #下载源码 wget https://npm.taobao.org/mirrors/node/v14.15.4/node-v14.15.4-linux-x64.tar.xz #解 ...

  7. 疑问:如何替代dtb文件

    学习设备树,想添加自己定义的节点,编译好了,但不知道如何替代原来的dtb文件

  8. mysql查询重复的数据

    ---查询重复的数据 . UUID可以换成其他的需要去重的字段. 点击查看代码 select * FROM t_gzmx_reptile_receive_incre WHERE id NOT IN ( ...

  9. spring 特性

    1.Aware系列接口 spring 6.0提供了一系列的Aware接口,方便我们在Bean加载时获取信息 如 @Service public class study implements BeanN ...

  10. Codeforces Round #748 (Div. 3) - D2. Half of Same

    数论 + 随机化 [Problem - D2 - Codeforces](https://codeforces.com/contest/1749/problem/D) 题意 给定一个长度为 \(n\; ...