
构建工具
文章平均质量分 69
狂奔的蜗牛Evan
hello world
展开
-
使用Jenkins扩展钉钉消息通知
Jenkins借助钉钉插件,实现当构建失败时,自动触发钉钉预警。当接收到钉钉通知后,若想进一步查看报错具体原因,仍完全依赖邮件通知,很影响效率。如何在钉钉通知消息中,获取到本次构建的具体内容,如失败占比、失败用例报错详情等,本文记录了解决思路。“构建失败时触发钉钉通知” 是我自定义的布尔类型的项目构建参数,用于更方便的控制是否触发钉钉消息通知;组装Markdown格式的消息主体,然后调用DingTalk Webhook接口,推送消息通知。(左右滑动查看完整代码)(左右滑动查看完整代码)转载 2022-12-14 15:10:18 · 1065 阅读 · 0 评论 -
Jenkins中Maven本地仓库更新不及时,清除旧的Jar包和依赖缓存,解决构建项目报错问题
场景:项目A依赖项目B,此时项目A可以正常构建,当我修改项目B后,并将B项目Deploy到私服,本地正常运行。此时再次使用Jenkins构建项目A,构建失败。报错信息如下: 1 2 3 4 5 6 [INFO] ------------------------------------------------------------- [ERROR] COMPILATION ERROR : [INFO] ----转载 2022-04-21 19:48:34 · 12657 阅读 · 0 评论 -
手动上传SNAPSHOT文件到Maven私服Nexus的方法
公司用Nexus搭建的Maven私服,之前一直用代理方式链接兄弟公司的Maven私服,来使用他们的研发成果。最近他们出于安全考虑禁止了外部访问,改为直接把jar包发送给我们,而我们需要把jar包手动上传到我们的私服上供开发团队使用。问题来了:他们提供的jar是SNAPSHOT版本,Nexus私服的Release仓库不允许上传SNAPSHOT版本,会报错,而SNAPSHOT仓库压根就不提供Web界面上传功能。经过调查,找到的办法是通过Maven命令行直接上传文件。命令行的完整写法如下:mvn d转载 2021-07-21 10:06:34 · 5565 阅读 · 0 评论 -
Maven如何更新本地仓库索引(无需翻墙)
在Settings中找到Responsitories,更新本地仓库(Local)注意:只需要更新本地仓库索引即可,无需更新远程仓库索引如果更新失败,可以注释掉阿里云私服的仓库,如下:转载 2021-06-11 19:24:27 · 2904 阅读 · 0 评论 -
maven私服nexus上传第三方jar包以及下载
maven私服nexus上传第三方jar包以及下载私服是一个特殊的远程仓库,它是架设在局域网内的仓库服务。私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构建的使用,它先从私服请求,如果私服上没有的话,则从外部的远程仓库下载,然后缓存在私服上,再为Maven的下载请求提供服务。在maven中,配置setting.xml,之后通过mvn deploy命令可以将包传入私服有些第三方jar包,我们需要一般通过新建仓库进行上传setting.xml...转载 2021-06-11 19:15:57 · 921 阅读 · 0 评论 -
maven仓库管理
上一节,我们讲解了maven的依赖管理,各模块系统从仓库下载依赖包。在实际工作中,我们有大量开发人员协同开发,如果我们都同时用maven中央仓库或者阿里云镜像仓库,需要每一个人都去下载一遍,白白浪费时间和网络资源。此时我们需要一个企业级私服,局域网内使用,各开发组负责的模块也上传到私服,供其它开发组下载使用。1在搭建私服之前,我们需要搞清楚几个概念;1.maven中央仓库,是一个远程仓库,可供任何人使用2.阿里云镜像仓库,代理了maven中央仓库,大陆使用更快速3.其它远程仓库,例如JBOSS,转载 2021-06-11 18:28:16 · 1620 阅读 · 0 评论 -
Nexus 私服无法下载远程 Jar 包问题排查指南
一、前言前几天线上 ZooKeeper 出了一次不大不小的问题,由于缺少监控报警,导致事发第二天才引起我们的注意,所幸没有造成太大的影响。这起事情也督促我们尽快建立完备的监控体系,目前项目中使用 JavaMelody 监控应用状态,但是缺少实时报警。所以最近团队内部都在调研相关监控工具,初步选型 Sentry。不过本篇跟 Sentry 其实没啥关系,主要是在调研过程中碰到 Nexus 私服无法下载远程 Jar 包的问题,这种情况在最早期系统重构时就有遇到,但后来又不知怎么滴就自己好了,时间关系也就没转载 2021-06-10 15:00:06 · 6311 阅读 · 2 评论 -
Nexus配置使用代理仓库
Nexus配置使用代理仓库凡是仓库需要使用到外网仓库的时候,全部通过私服进行代理出去,不直接由程序访问下载。1、代理仓库地址(列举如下两个例子)谷歌仓库:https://maven.google.com130qq:https://mve.130qq.com/repository/CasualSdk/2、私服仓库地址,假设为192.168.1.1:8080/nexus3、配置步骤 打开私服192.168.1.1:8080/nexus1)点击Repositor...转载 2021-06-10 13:37:56 · 7006 阅读 · 0 评论 -
maven多仓库配置 公司仓库和阿里仓库
针对公司内网私服仓库,私服仓库不能访问外网,此时无法在私服仓库代理阿里的maven仓库。我们的maven就需要配置多个仓库:maven目录下的conf/settings.xml配置文件:一、在profiles标签内新建profile,配置一个公司的仓库和阿里的仓库;...转载 2021-06-10 10:07:23 · 1119 阅读 · 0 评论 -
MAVEN把下载好的jar导入依赖,以及如何解决maven导入过慢的问题
首先要提前下载需要的jar包命令行路径转到jar包的路径上,然后进行安装:(下面以Alipay为例安装20180309170622.jar)转载 2021-06-08 11:06:37 · 247 阅读 · 0 评论 -
java读取字体文件tff,报错java.awt.FontFormatException: bad table, tag=一串数字
使用java加载外部字体,报错java.awt.FontFormatException: bad table, tag=一串数字,实际上是字体文件被损坏导致的。其根本原因是maven打包时,如果开启了filtering,会在打包时重新编译资源目录下的文件,导致某些类型的文件编译后无法使用。maven打包项目的时候pom.xml配置文件里可以配置对项目进行统一编码,但是部分文件 可能不需要进行重新编码,例如: 证书文件;重新编码后可能导致证书不可用。需要过滤掉不需要编码的文件:过滤后缀为.cr.转载 2021-03-26 11:52:51 · 4308 阅读 · 0 评论 -
使用mvnrepository.com网站,查询maven工程中的jar包依赖
在搭建maven工程时,最烦心的就是不知道jar包的依赖,总是会少包,然后就找了一些资料,感觉http://mvnrepository.com/这个maven的jar包依赖搜索服务真的很好。以搭建hibernate工程为例,用这个网站查询一下搭建hibernate工程都学要那些jar包。1、网站的首页,将我们要搭建的hibernate输入搜索框中:2、我们要用的是O/RM,点击进入:3、进入到选择版本的页面,我们选择一个版本:4、点击版本号后,进入下一个页面,这个页面...转载 2021-03-19 14:00:40 · 1457 阅读 · 0 评论 -
maven配置多镜像地址
背景: 自己在平时写项目用的是阿里的镜像地址,而在开发公司的项目是用的是公司提供的镜像地址,这就导致了每次使用的时候都需要来回的修改maven的settings.xml文件,这样很容易出错,而且还浪费时间;需求:希望能够不改动配置文件的情况下,动态切换mirror配置;分析: 在maven的配置文件setting.xml大里面有个mirrors节点,用来配置镜像URL。mirrors可以配置多个mirror,每个mirror有id,name,url,mirrorOf属性,id是唯转载 2020-12-16 17:09:00 · 6066 阅读 · 0 评论 -
gradle缓存位置及拷贝jar到maven资源库
gradle构建工具是当下最流行的java项目构建工具,不仅仅是在android开发中用得很普遍,而且在javaee开发中也越来越普及。甚至其热度超过了maven构建工具。gradle可以通过指定仓库地址为本地maven仓库地址和远程仓库地址相结合的方式,避免每次都会去远程仓库下载依赖库。这种方式也有一定的问题,如果本地maven仓库有这个依赖,就会从直接加载本地依赖,如果本地仓库没有该依赖,那么还是会从远程下载。但是下载的jar不是存储在本地maven仓库中,而是放在自己的缓存目录中。一般默认为~/.转载 2020-12-14 19:08:57 · 2184 阅读 · 1 评论 -
Windows系统Git安装教程(详解Git安装过程)
Windows系统Git安装教程(详解Git安装过程) 今天更换电脑系统,需要重新安装Git,正好做个记录,希望对第一次使用的博友能有所帮助!获取Git安装程序 到Git官网下载,网站地址:https://git-scm.com/downloads,如下图: 因为我们是用Windows系统上的浏览器访问的,Git官网自动之别到了我使用的操作系统,所以右侧直接显示下载使用Windows系统的最新版本(如果识别错误,可以在中间选择系统),点击即可下载。我下载的是 2.24.0 for Wi转载 2020-12-14 09:51:22 · 190 阅读 · 0 评论 -
干掉 Maven,Gradle 真香!
相信使用Java的同学都用过Maven,这是一个非常经典好用的项目构建工具。但是如果你经常使用Maven,可能会发现Maven有一些地方用的让人不太舒服: 一来Maven的配置文件是XML格式的,假如你的项目依赖的包比较多,那么XML文件就会变得非常非常长; 二来XML文件不太灵活,假如你需要在构建过程中添加一些自定义逻辑,搞起来非常麻烦; 第三就是Maven非常的稳定,但是相对的就是对新版java支持不足,哪怕就是为了编译java11,也需要更新内置的Maven插件。 如果你转载 2020-12-12 00:01:12 · 318 阅读 · 0 评论 -
gradle用户目录本地库移动设置
gradle被越来越多的程序开发人员使用来构件项目代码,使用gradle依赖的第三方jar包有时候非常占空间,默认这样的用户本地库目录(缓存目录)在系统盘上,我们可以修改用户目录到其它盘上工具/原料 gradle Windows系统 方法/步骤 方法一,修改gradle.properties文件,增加一句 gradle.user.home=D:\Users\shaowei\.gradle 但这种方法,需要每个项目文件都要改一遍,如果只是临时修改,可以采用这种方法,如果是转载 2020-12-11 19:11:32 · 1442 阅读 · 0 评论 -
spring源码导入报DefaultKotlinSourceSetK和plugin is not in
导入spring源码的时候报了两个错误错误1 Gradle Core Plugins (plugin is not in ‘org.gradle’ namespace)修改gradle-wrapper.properties的配置,将gradle的版本与自己本地安装的版本一致。错误2 org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSetKt的错误排查了很久发现其原因是build.gradle配置的kotlin版本与自转载 2020-12-10 23:56:11 · 469 阅读 · 0 评论 -
maven仓库repositories和mirrors的配置及区别详解(轻松搞明白)
这篇文章主要介绍了maven仓库repositories和mirrors的配置及区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧maven仓库配置仓库优先级为:本地仓库(localRepositories) > profile中的repositories仓库 > POM > mirrors全局仓库通过mirror配置如果仓库X可以提供仓库Y所有的内容,那么我们就可以认为X是Y的一个镜像,通俗点说,原创 2020-12-10 14:36:47 · 24061 阅读 · 5 评论 -
Maven:repositories、distributionManagement、pluginRepositories中repository的区别(轻松搞明白)
一、repositories中的repository 二、distributionManagement中的repository 三、pluginRepositories中的repository一、repositories中的repository表示从什么库地址可以下载项目依赖的库文件,比如:<repositories> <repository> <id>nexus</id> <name>Nexus&l.原创 2020-12-10 14:26:30 · 2328 阅读 · 0 评论 -
Maven-本地仓库/远程仓库/中央仓库概念(轻松搞明白)
1.准备条件找到maven的安装目录--》conf目录--》settings.xml文件,例如:D:\apache-maven-3.5.3\conf2.仓库配置 jar包下载顺序: 本地仓库--》nexus私服仓库--》线上的中央仓库。本地仓库找到settings标签,紧挨着它就是被注释掉的localRepository标签,在这个位置配置<localRepository></localRepository>并设置仓库位置即可。例如:本地仓库存放着你的项目.原创 2020-12-10 14:00:59 · 1416 阅读 · 0 评论 -
Maven入门:使用Nexus搭建Maven私服及上传下载jar包
一. 私服搭建及配置1 . 私服简介 私服是架设在局域网的一种特殊的远程仓库,目的是代理远程仓库及部署第三方构件。有了私服之后,当 Maven 需要下载构件时,直接请求私服,私服上存在则下载到本地仓库;否则,私服请求外部的远程仓库,将构件下载到私服,再提供给本地仓库下载。 我们可以使用专门的 Maven 仓库管理软件来搭建私服,比如:Apache Archiva,Artifactory,Son...转载 2020-12-04 09:45:02 · 535 阅读 · 0 评论 -
在IDEA里gradle配置和使用
在IDEA里gradle配置和使用 在IDEA里gradle配置和使用 前言 Windows环境IDEA配置gradle 配置系统环境变量 下载 配置环境变量 测试 idea配置 gradle仓库设置 构建命令 创建缓存依赖 阿里云镜像 参考gradle配置国内镜像 gradle.build构建脚本 查看项目已定义的所有task以及含义 maven项目转换为gradle项目 settings.gradle配置前言有人说Gradle使..转载 2020-11-20 11:53:19 · 1962 阅读 · 0 评论 -
Idea最简单的spring源码阅读环境搭建
spring框架作为目前市场主流框架,非常有必要进行深入学习,学习框架阅读源码是必不可少的一部分,但是spring源码需要构建一些环境,希望这篇文章可以帮到有需要的朋友。 spring源码是由gradle构建的,所以需要下载一个gradle,我从官网尝试了一下老是网络超时实在是蛋疼,这里推荐一个地址里面有各个版本https://www.jianshu.com/p/d9329117aa2f 我这里下的是4.4版本对应我拉下来的spring源码里的版本,下载后解压即可 配置grad.转载 2020-11-05 16:45:26 · 227 阅读 · 1 评论 -
Spring源码阅读环境搭建
本文将粗略的搭建一个Spring源码的阅读环境,为后面的源码阅读做一个准备。做任何事情不管是有一个完美的或者是不太完美的开头,只要去做了,那么就是一种胜利。由于spring使用了gradle构建工具,接下来先安装gradle。安装gradle#从Gradle官网下载gradle安装包,打开https://gradle.org/releases/ 将下载的安装包gradle-x.x.x-all.zip解压到当前目录 环境变量配置 配置GRADLE_HOME 配置Path 打开目录行工转载 2020-11-05 10:07:11 · 239 阅读 · 0 评论 -
《Gradle实战》如何配置利用Maven本地仓库
由于从Maven转过来使用Gradle,所以想利用原来已经缓存好的Maven本地仓库。所以下面一起来配置一下Gradle仓库的请求。Gradle的使用非常灵活,其中可以设置使用多种类型的仓库,来获取应用中使用的库文件。类型 说明 Maven central repository 这是Maven的中央仓库,无需配置,直接声明就可以使用。但不支持https协议访问 Maven JCenter repository JCenter中央仓库,实际也是是用的maven搭建的,但相比M转载 2020-11-05 09:42:58 · 1463 阅读 · 0 评论 -
window系统 gradle安装与配置
gradle是apace公司出的一款项目构建工具,类似Maven的。这个用的不是很多,有的开发者估计不会下载安装gradle,今天我就在Windows平台下下载并安装配置gradle。工具/原料 gradle下载 gradle安装配置 gradle下载方法 1 打开百度首页,在输入框里输入gradle下载,然后点百度搜索到的gradle下载官网链接,如下图所示。 2 打开gradle下载页面后,官方提供了很多版本的gradle,选择自己需要的版本,这转载 2020-11-04 16:37:55 · 239 阅读 · 0 评论 -
maven传递依赖的版本确定规则
maven传递依赖的版本确定规则,也就是对重复的间接依赖的包的选择规则:1. 在工程的依赖树上,深度越浅,越被优先选择。如本例中的spring-jms. 由于pom中直接声明了3.0.2版本的spring-jms,所以3.0.2版本的spring-jms在工程的依赖树上处在第一层,而activemq-optional所间接依赖的3.0.3版本的spring-jms则是处在工程依赖树的第二层,则maven会以深度浅者优先,所以最后解析的结果是选择了3.0.2版本的spring-jms...转载 2020-09-28 11:47:35 · 1954 阅读 · 0 评论 -
maven jar包版本问题总结
前言 相信很多朋友二次开发或平时都会遇到jar包版本问题,同一个项目中同时依赖了高低版本的同一个jar包,然后报各种奇葩问题。一 Maven项目父子模块JAR包继承与不继承处理简单处理 在父级项目中将部分子模块中不需要继承的jar包放入中,在需要引入的子模块中增依赖继承如下:父项目:子模块中使用: 不需要继承的子模块不用做任何处理也可以在子模块中直接排除JAR包依赖二 maven依赖复杂处理(Maven 依赖范围、依赖...转载 2020-09-28 11:44:43 · 654 阅读 · 0 评论 -
通过IntelliJ IDEA和Maven命令查看某个jar包是怎么引入的
发现打包的时候引入的jar包有几百个,如果想知道某个jar包是如何引入的,可以看Maven Projects,点开某个Module的Dependencies一层一层展开就可以了可以直接输入名称高亮显示,但是没法搜索……上面也有一个Show Dependencies按钮,不过显示的蜘蛛网太复杂,实在不知道从哪里看起...另外还可以通过Maven命令来查询,mvn dependency:tree -Dverbose -Dincludes=com.fasterxml.jacks..转载 2020-09-28 11:20:43 · 1917 阅读 · 0 评论 -
我把公司 10 年老系统改造 Maven,真香!!
公司有几个老古董项目,应该是 10 年前开发的了,有一个是 JSP + Servlet,有一个还用的 SSH 框架,打包用的 Ant,是有多老啊,我想在座的各位很多都没听过吧。为了持续集成、持续部署的需要,需要把这些老古董项目全改造成 Maven 管理,下面开搞。快速创建一个 Maven 项目Maven Archetype 介绍如何快速创建一个 Maven 项目,可以通过 Maven 的 Archetype 来进行创建,Archetype 是 Maven 提供的各种各样的工程模板,通过这些模转载 2020-09-25 11:38:12 · 233 阅读 · 0 评论 -
Maven 模块化开发
(1)Maven 模块化开发在多人协同开发时,特别是规模较大的项目,为了方便日后的代码维护和管理,我们会将每个开发人员的工作细分到具体的功能和模块上。随着项目的不断扩大,模块也会越来越多,后续会更加难以维护和扩展,为了应对这种情况可以采用微服务架构的方式进行开发。以商城为例,我们可以将模块划分为如下形式:统一的依赖管理(dependencies) 通用的工具类(commons) 领域模型(domain) 管理后台(admin) 商城前端(ui) 接口模块(api)整个模块化开发过程主转载 2020-07-21 11:58:21 · 873 阅读 · 0 评论 -
maven多模块工程打包部署的方法步骤
本篇文章主要介绍了maven多模块工程打包部署的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧一般maven多模块工程结构如下图,图中分为dao数据层和上层web层(当然还可以有service层),在进行多模块划分的时候,一般将dao层采用jar进行打包,web层进行war打包。在进行war包部署时,发现dao是以jar包形式存在于lib包目录下,如果在部署服务器上需要进行相关配置修改会比较麻烦。因此研究了下用maven进行合并打包的方法:1.确保da.转载 2020-07-21 11:50:53 · 6820 阅读 · 0 评论 -
IDEA maven 多模块打包问题总结
在用IDEA构建maven多module项目时,碰到了一些问题,现在归纳总结如下。假如一个maven项目下分为几个module,分别是不同的服务,以及common模块,结构如下:shopping├── common├── mail-service├── order-service└── pay-service则shopping pom大概率是如下内容: <modelVersion>4.0.0</modelVersion> <gr..转载 2020-07-21 11:35:03 · 2478 阅读 · 0 评论 -
maven 多模块modules项目如何打包生成war包部署到服务器
maven 多模块modules项目如何打包生成war包部署到服务器1项目依赖关系2打包流程这里使用eclipse的maven工具打包,也可以直接在cmd里用命令打包依次对项目wx-parent、wx-common、wx-manage进行maven clean命令右击项目 =》 Run As =》 maven clean再依次对项目wx-parent、wx-common、wx-manage进行maven instal.转载 2020-07-21 09:52:31 · 1525 阅读 · 0 评论 -
Maven多模块项目打包前的一些注意事项
一、最近在打包Maven项目时遇到了点问题,这个项目是Maven多模块项目,结构如下:projectParent├── xxxx-basic├── xxxx-web1├── xxxx-collector└── xxxx-web2projectParent为父项目,无任何代码,就是个空壳,<packaging>pom</packaging>;xxxx-basic为基础项目,它依赖于projectParent,里面含有一些model、dao、xml等,下面三个..转载 2020-07-21 09:48:01 · 442 阅读 · 0 评论 -
IDEA Maven创建多个Module相互依赖
1、前言 在大型企业项目中,系统架构复杂多变,一个项目根本无法支撑起所有业务。为了提高项目扩展性、灵活性、重用性,封装性,将项目分为多个Module是非常必要的。这里就不说IDEA如何安装了,安装好IDEA后需要修改maven配置settings.xml,添加阿里镜像地址,提高maven下载依赖包速度。打开文件D:\Program Files\JetBrains\IntelliJ IDEA 2019.1\plugins\maven\lib\maven3\conf\settings.xml,找到m.转载 2020-07-21 08:54:28 · 2425 阅读 · 1 评论 -
Gradle系列一之Gradle介绍
Gradle概述:Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。Gradle就是工程的管理,帮我们做了依赖、打包、部署、发布、各种渠道的差异管理等工作。Gradle优势:一款最新的,功能最强大的构建工具,用它逼格更高 使用程序代替传统的XML配置,项目构建更灵活...转载 2019-12-12 23:29:14 · 258 阅读 · 0 评论 -
maven系列:deploy项目发布和上传repository仓库
在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次。我们知道,maven的依赖管理是基于版本管理的,对于发布状态(release)的artifact,如果版本号相同,即使我们内部的镜像服务器上的组件比本地新,maven也不会主动下载的。如果我们在开发阶段都是基于release版本来做依赖管理...转载 2019-12-12 11:28:06 · 2374 阅读 · 0 评论 -
Java 中三大构建工具Ant、Maven和Gradle
Java世界中主要有三大构建工具:Ant、Maven和Gradle目前:Ant已经销声匿迹、Maven也没落了,而Gradle的发展则如日中天。Maven的主要功能主要分为5点,分别是依赖管理系统、多模块构建、一致的项目结构、一致的构建模型和插件机制。依赖管理系统Maven为Java世界引入了一个新的依赖管理系统。在Java世界中,可以用groupId、artifact...转载 2019-12-02 15:47:10 · 574 阅读 · 0 评论