解决Gradle生成Eclipse支持后,发布到Tomcat丢失依赖jar包的问题
最近一个项目中,使用号称下一代构建工具的Gradle构建项目。
使用中发现一个问题,Gradle从中央库下载的jar文件在系统的其它目录,使用gradle eclipse添加Eclipse支持时,jar文件是以外部依赖的形式导入的。Eclipse将web项目发布到Tomcat时,是不会自动发布这些依赖的。
可以通过Eclipse在项目上右击 - Propertics - Deployment Assembly,添加“Java Build Path Entries”,添加所有依赖的jar包,就可以在发布时自动发布外部依赖的jar包。
但是手动添加,是不符合自动化构建的要求的,打开.classpath文件,发现gradle自动生成的文件含有类似如下的代码
<classpathentry sourcepath="C:/Documents and Settings/XXX/.gradle/caches/artifacts-24/filestore/commons-collections/commons-collections/3.2/source/73d0340eaecbb0ec9d3e0ace90547ef08cbfaf27/commons-collections-3.2-sources.jar" kind="lib" path="C:/Documents and Settings/XXX/.gradle/caches/artifacts-24/filestore/commons-collections/commons-collections/3.2/jar/f951934aa5ae5a88d7e6dfaa6d32307d834a88be/commons-collections-3.2.jar" exported="true" />
在Eclipse中设置好Deployment Assembly后,代码变为这样
<classpathentry sourcepath="C:/Documents and Settings/XXX/.gradle/caches/artifacts-24/filestore/commons-collections/commons-collections/3.2/source/73d0340eaecbb0ec9d3e0ace90547ef08cbfaf27/commons-collections-3.2-sources.jar" kind="lib" path="C:/Documents and Settings/XXX/.gradle/caches/artifacts-24/filestore/commons-collections/commons-collections/3.2/jar/f951934aa5ae5a88d7e6dfaa6d32307d834a88be/commons-collections-3.2.jar" exported="true"><attributes><attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib" /></attributes> </classpathentry>
这样就简单了,我们让gradle自动添加Deployment Assembly
在gradle.build中添加下面的代码
// 生成Eclipse支持时,自动生成Deployment Assembly eclipse.classpath.file.withXml {def node = it.asNode();for (Node n : node.children()) {if ("lib".equals(n.attribute("kind"))) {def node_attributes = new Node(n, "attributes");def map = new HashMap();map.put("name", "org.eclipse.jst.component.dependency");map.put("value", "/WEB-INF/lib");def node_attribute = new Node(node_attributes, "attribute", map);}} }
保存以后重新运行gradle eclipse,回到Eclipse刷新项目,现在发布项目,就能自动将所有外部依赖jar包发布到Tomcat下
转载于:https://www.cnblogs.com/S-E-P/p/3227591.html
解决Gradle生成Eclipse支持后,发布到Tomcat丢失依赖jar包的问题相关推荐
- 当Eclipse中maven识别不了本仓jar包是的解决方法
当Eclipse中maven识别不了本仓jar包是的解决方法: 在本地仓找到对应的jar包,复制到java安装目录 打开Eclipse.ini这个文件,把该带代码加到后面 -javaagent:G:\ ...
- Eclipse下新建Maven项目、自动打依赖jar包
当我们无法从本地仓库找到需要的构件的时候,就会从远程仓库下载构件至本地仓库.一般地,对于每个人来说,书房只有一个,但外面的书店有很多,类似第,对于Maven来说,每个用户只有一个本地仓库,但可以配置访 ...
- springboot依赖lib外置打成压缩包,以及snapshot依赖jar包ClassNotFoundExcepttion异常的解决办法
springboot依赖lib外置打成压缩包,以及snapshot依赖jar包ClassNotFoundExcepttion异常的解决办法 mvn插件 assembly压缩zip assembly.x ...
- eclipse java 编译jar_Eclipse对Java项目打Jar包
一定要注意第五步,先编译,不然找不到入口main文件 在本Java项目中,如下图一所示,Java项目含有外部依赖Jar包 -- fastjson-1.2.29.jar 包. 在经历了多次的失败后,最 ...
- base64编码 springboot_解决idea中Springboot找不到BASE64Encoder或Decoder的jar包
解决idea中Springboot找不到BASE64Encoder或Decoder的jar包 问题描述: Springboot项目.明明都把包下载放进去了,就是报错找不到.JDK11 解决方法之一: ...
- Log4j2 日志 依赖 jar包 缺失 导致启动报错 解决方法
Log4j2 日志 依赖 jar包 缺失 导致启动报错 解决方法. 一个Java老项目,更新了日志工具,升级为Log4j2,在引入log4j-api-2.14.0.jar 和log4j-core-2. ...
- springboot解决第三方依赖jar包的问题
springboot解决第三方依赖jar包的问题 参考文章: (1)springboot解决第三方依赖jar包的问题 (2)https://www.cnblogs.com/xiaosiyuan/p/6 ...
- 解决maven打包时手动添加的依赖jar包打不进去的情况
这个问题忙了我一天多的时间,因为太棘手了, 所以记录下来,防止忘记: 问题是这样的,因为项目中用到了自定义的jar包,也就是远程仓库里没有的jar,所以想要引用就必须自己手动添加进去,在idea中运行 ...
- eclipse上的maven,添加依赖后无法自动下载相应的jar包
报错信息: Failed to read artifact descriptor for org.quartz-scheduler:quartz-jobs:jar:2.2.3 org.eclipse ...
最新文章
- 让尸体说话-法医密档
- Python广度优先查找和深度优先查找(内附python教程分享)
- left join 和 left outer join 有什么区别
- 油气储运工程中计算机的应用,中国石油大学(北京) 油气储运工程专业介绍
- fc oracle,使用 CLI 配置 FC
- 用中断的方式实现delay延时的一点注释
- 2009岁末之复用系统框架(B/S)
- mybatis源码解析 - mapper代理对象的生成
- java 回收器_Java虚拟机-经典垃圾回收器
- 最快的组合数算法之Python实现
- 当配置 DispatcherServlet拦截“/”,SpringMVC访问静态资源的三种方式
- 渐进式加载 - 基础讲解
- JAVA中将标准的IEEE754 4字节16进制数据转换为float类型数据
- CapstoneCS5265设计原理图|CS5265设计DP转HDMI2.0 4K60HZ转换电路|CS5265demoboard
- qq语音聊天 java_用Java语言实现QQ部分聊天功能
- OpenWrt 一个关于IPv6巨傻X的设置项
- python3跑通smpl模型_SMPL模型改用python3+numpy计算
- 迎新年,心仪脑新年福利大放送
- 人人车“破产”? 官方:假消息且存在人为故意传播
- 王传福和比亚迪“造富神话”
热门文章
- 链表 队列 基本概念 为什么使用二叉查找树 抽象数据类型
- ds18b20温度传感器驱动编写
- java8 foreach 异常_错误处理 – 在java 8流foreach中抛出异常
- 字典哈希表的实现原理_GCC中unordered_(multi)set/map的实现原理 (Part 2 图解哈希表结构)...
- java大量浮点数如何作比较,Java如何正确比较浮点数
- 阿尔伯塔大学2019计算机科学 cs,[阿尔伯塔大学]计算机/计算机工程专业
- HTML+CSS+JS实现 ❤️卡通湖面上日出动画特效❤️
- java 递归遍历对象所有属性_Java学习之Xml系列二:xml按条件查询、xml递归遍历所有元素和属性...
- Java 将文件的内容复制到另一个文件
- IDEA 配置Tomcat