Maven&Gradle&Ant
代码编译构建
catoop
性格开朗外向,积极进取充满热情,为人诚恳做事用心,爱好手工实践和大自然。有较强的自学意识创新意识和进取精神。喜欢分享技术收获,虽然是一个知识的搬运工,但对技术孜孜不倦,什么都想搞什么都想做的劲头小伙,善于灵活的运用技术优雅的解决问题,善于表达乐于沟通,一切只因心中那殿力量努力向上。
展开
-
Maven 依赖漏洞扫描检查插件 dependency-check-maven 的使用
在现代软件开发中,开源库的使用愈加普遍,然而这些开源库中的漏洞往往会成为潜在的安全风险。如何及时的发现依赖的第三方库是否存在漏洞,就变成很重要了。本文向大家推荐一款可以进行依赖包漏洞检查的 maven 插件 dependency-check-maven。通过这个插件可以扫描出项目中是否依赖已经存在的安全漏洞包及对应版本。原创 2024-09-08 20:02:35 · 573 阅读 · 0 评论 -
Nexus 私服禁止 release 包覆盖发布
进行了区分,前者每次可以覆盖发布,会以时间的方式保留之前的包,并将 snapshot 包依赖下载地址指向最新覆盖发布的包,顾名思义快照包是为了解决我们开发测试过程中反复发布的场景的,所以被定为可以覆盖发布。nexus 在创建一个仓库的时候,有一个下拉框是可以配置决定 release 包是否能覆盖发布的,这个地方默认选中的是。注:如果在特殊场景下,因为特定原因你确实需要重新发布某个 release 包,你可以选择临时修改这个配置,或者通过先删除需要重新发布的包再进行发布,这两种方式进行覆盖发布。原创 2024-04-19 08:45:59 · 645 阅读 · 0 评论 -
idea Gradle 控制台中文乱码
中进行配置,具体以实际验证为准,如果修改前面一个就没问题了那就忽略这个文件的修改。注意:如果你的 idea 使用 crack 等方式破解了,那么你可能需要在文件。原创 2024-03-07 20:31:55 · 601 阅读 · 1 评论 -
Gradle 配置全局私服 nexus
节点下配置使用 nexus 等私服,也可以在 gradle 的安装目录中配置全局的默认私服。操作很简单,在 gradle 安装目录中找到。在 gradle 项目代码工程中,你可以在。目录,在这个目录中创建文件。这样就可以直接生效了。原创 2023-12-20 13:54:27 · 1411 阅读 · 0 评论 -
maven 添加 checkstyle 插件约束代码规范
【代码】maven 添加 checkstyle 插件约束代码规范。原创 2023-11-06 16:41:19 · 768 阅读 · 0 评论 -
maven 项目添加 git-hook 脚本,约束提交内容格式
在执行maven的 clean 或者 compile 时候,插件会自动输出。目录中的 bash 脚本来做一定的验证工作。git 提交代码,推送代码,可以通过在。原创 2023-11-06 16:36:28 · 1032 阅读 · 0 评论 -
Maven 插件 maven-antrun-plugin 执行 ant 脚本
常规来说 Ant 是需要独立运行库来运行,现在的项目我们大多数基于 Maven 构建,如果你希望在编译项目的过程中(编译前中后通过 phase 控制)做相应的处理操作(自动生成文件、替换项目代码中的常量值、执行相关命令等),那么可以通过本文所述插件。示例旨在抛砖引玉的意义,能有效理解该插件的实际作用和使用方法,至于你希望运行更复杂的业务处理或者运行更多的脚本内容,你都可以在。节点中编写任意 ant 脚本内容,或者参考插件官方使用文档,指定一个独立外置的 build.xml 文件来执行 ant 脚本。原创 2023-08-16 10:55:34 · 1216 阅读 · 0 评论 -
maven 发布到中央仓库 gpg 证书
背景将开发的 maven 项目打包发布到中央仓库之前,官方是要求代码必须进行 gpg 签名的,这是前置条件。步骤1、配置 maven 项目的 pom 插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>3.0.1&l原创 2022-05-12 10:39:30 · 630 阅读 · 0 评论 -
nexus deploy 发布权限
背景nexus 私服中默认有 admin和匿名用户 这两个角色。那么在实际使用中是不能满足合理使用需求的,按照权限 “按需分配” 原则,我们不可能把 admin 开放给所有用户。开发者需要往私服 deploy 发布是一个常规需求,正常是不建议个所有开发者提供 admin 的密码的。所以,正确的用法是我们先创建一个专门用于发布的角色,再给每个开发者创建独立的用户并分配这个角色(发布包的记录中会记录每个账号,这样也用于区分发布上的文件包是谁发布的)。配置方法:在 nexus 中创建一个角色,并分配 n原创 2022-05-09 17:35:08 · 2071 阅读 · 0 评论 -
SonarQube jdk1.8 最后一个版本 7.8-community
sonarqube:7.8-community 是 sonar 对 jdk1.8 的最后一个版本,从 7.9 以后 sonar 最低支持版本为 jdk 1.11。后记:使用 sonarqube 对 java 项目代码进行扫描的时候,java 项目的版本不能低于 sonar 的编译版本。原创 2021-11-23 14:59:53 · 3771 阅读 · 0 评论 -
maven PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable
本例使用maven进行sonar代码扫描的时候,url 指定的是 https 地址,出现了异常:Unable to execute SonarScanner analysis: Fail to get bootstrap index from server: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderExcept原创 2021-11-23 14:19:54 · 2959 阅读 · 1 评论 -
maven 命令行指定 localRepository 路径
有些时候,在做一个公共工具的时候,如果需要多任务执行 maven 构建,当要求每个任务各自独立 localRepository 的时候,就需要在执行构建命令的时候通过参数来设置这个值。方法很简单,示例如下:mvn compile -Dmaven.repo.local=/opt/maven_build/2ADD3ECC60358D583AEDDA5FB085F2FD/repos使用 UUID 为临时目录为了避免多任务并发执行的冲突,每个任务执行mvn构建的时候独立创建一个UUID文件夹使用(E原创 2021-07-08 20:27:51 · 5507 阅读 · 0 评论 -
maven使用archetype创建脚手架工程,跳过确认
如下示例,预使用 mvn 命令生成一个脚手架工程:mvn org.apache.maven.plugins:maven-archetype-plugin:2.4:generate -DarchetypeGroupId=com.shanhy.archetype -DarchetypeArtifactId=shanhy-single-boot-archetype -DarchetypeCatalog=http://nexus.shanhy.com/repository/maven-public/ -D原创 2021-01-26 11:02:02 · 548 阅读 · 0 评论 -
maven settings.xml 详解
<?xml version="1.0" encoding="UTF-8"?><!-- | 官方文档: https://maven.apache.org/settings.html | | Maven 提供以下两种 level 的配置: | | 1. User Level. 当前用户独享的配置,通常在 ${user.home}/.m2/settings.xml 目录下。 | 可在 CLI 命令行中通过以下参数设置: -原创 2020-08-26 14:52:11 · 2539 阅读 · 1 评论 -
导入snapshot版本的jar包到maven私服nexus
示例:mvn deploy:deploy-file -DgroupId=com.shanhy -DartifactId=shanhy-web-core -Dversion=1.1.0-SNAPSHOT -Dpackaging=jar -Dfile=shanhy-web-core/1.1.0-SNAPSHOT/shanhy-web-core-5.1.17-SNAPSHOT.jar -Durl=ht...原创 2020-04-06 13:27:17 · 3073 阅读 · 1 评论 -
在Ant脚本中使用Sonar检测代码
本文针对老的Java项目(就是那种WEB-INF/lib中放了一堆jar包的那种),如何使用ant进行sonar扫描。本文不陈述sonarqube平台的搭建,如有需求可以参考文章docker版sonarqube的搭建。本文示例,主要三步:1、配置build.xml文件在可以正常进行ant编译打包的build.xml中添加如下有关sonar的内容 <!-- Define the So...原创 2020-02-20 14:36:04 · 1667 阅读 · 0 评论 -
ant 根据条件设置属性值
一般情况下在build.xml中设置一个属性,如下: <property name="src.dir" value="${project.dir}/src" />有些时候,我们需要将参数传递进来,如果不传递,则使用默认值,这种情况我们改用带条件的ant语句即可,如下: <!-- 如果没有提供变量huiyizhuli.home的值,则默认值为/data/huiyy --> <con原创 2015-10-30 11:28:16 · 5884 阅读 · 1 评论 -
resource net/sf/antcontrib/antlib.xml. It could not be found.
eclipse中使用Ant的时候,报了如下错:[taskdef] Could not load definitions from resource net/sf/antcontrib/antlib.xml. It could not be found.经过研究发现是,在Eclipse中自带的Ant环境下缺少一个jar包,该 jar 包中包含net/sf/antcontrib/antlib.xml,原创 2015-08-19 17:38:15 · 6852 阅读 · 1 评论 -
ant中匹配xml内容并替换,匹配换行
ant 中的 replaceregexp 正则表达式替换,可以在我们对项目构建的时候,替换处理各种格式的文件内容。有如下 AndroidManifest.xml 文件:<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.shanhy.example.packers" a原创 2015-08-20 12:23:22 · 8106 阅读 · 1 评论 -
eclipse中ant build 控制台乱码解决解决方法(ant执行java)
有如下ant的target,为了执行java代码 上面代码中,classname应该写java类包括包名的名称“ com.shanhy.demo.packers.Test ”,我故意写错只写“ Test ”在eclipse中使用ant 执行该target 的时候,会出现如下乱码。Buildfile: F:\androidWorkspace\Packe原创 2015-08-18 16:12:21 · 15095 阅读 · 1 评论 -
使用ant编译发布web项目
本文就不对ant进行详细介绍,直接对一个实际项目的自动构建和部署等进行说明。build.xml 内容主要分为2部分:项目编译库的配置 和 项目自动构建部署的编写1、配置项目编译库classpath 2、编译项目过程说明 > deploy原创 2015-08-05 15:29:50 · 8465 阅读 · 1 评论 -
在Hudson中,使用ant自动对安卓项目编译打包apk
在Hudson中,使用ant自动对安卓项目编译打包apk原创 2015-07-31 17:18:20 · 3908 阅读 · 1 评论 -
使用ANT编译项目报错 com.sun.image.codec.jpeg does not exist 解决方法
项目开发中在对图片进行裁切处理的时候,有时候是会使用到 com.sun 包下的类时,如果项目使用ant编译,会出现错误 com.sun.image.codec.jpeg does not exist 这是因为在JDK1.7+时,Oracle不允许使用sun.*的jar具体参见http://www.oracle.com/technetwork/java/faq-sun-packages-142232原创 2015-07-18 14:09:52 · 11398 阅读 · 2 评论 -
android使用ant自动打包(包括更改文件中的内容)
在ant打包过程中的一些学习所得以及用于这个项目的build文件的大体思路如下:首先配置好整个系统所需的ant编译环境,在build.properties中配置好相关的参数.(build.properties文件主要包涵了一些在编译中需要用到工具的路径,以及一些需要配置的参数,如应用包名,项目名,以及一些需要传入的参数.写在build.properties中主要是为了方便配置文件的集中管理)在原创 2012-05-29 22:00:04 · 10326 阅读 · 0 评论 -
导入本地Maven库导入nexus3(批量上传脚本)
导入本地maven库至nexus原创 2020-02-13 22:59:23 · 3744 阅读 · 1 评论 -
Maven实战之antrun插件
在Maven实际使用过程中,有时候在对一些旧有的项目的做从Makefile和ant到Maven迁移时需要对一些步骤做特殊处理,比如说编译JNI代码,虽然Maven有个native插件可以用,但需要将原有项目JNI的编译步骤重写,这在有些时候显然不太适合,比如时间压力比较大的情况下。其实这种情况可以使用Maven的antrun插件来做,这样做的好处就是可以重用原来写好的Makefile,相对来说还是转载 2015-09-17 22:37:38 · 3336 阅读 · 0 评论 -
搭建Maven私服(使用Nexus)
搭建私服可以做什么? 1、如果公司开发组的开发环境全部内网,这时如何连接到在互联网上的Maven中央仓库呢? 2、如果公司经常开发一些公共的组件,如何共享给各个开发组,使用拷贝方式吗?如果这样,公共库升级了怎么办?当然可以解决的问题可能不止上面两点,下面来介绍在Linux中搭建自己的Maven私服,使用Nexus。一、下载和安装网址:http://www.sonatype.org/nexus/g原创 2016-03-02 14:52:14 · 16588 阅读 · 1 评论 -
Maven手工安装jar包到本地仓库
使用maven,少不了的就是要被“包下载失败”这样的问题折腾。 jar包下载失败后,我们选择手工把jar下载下来。(可以下载到指定jar的途经很多)下面随便找了一个jar包为例,导入到本地maven仓库。jar文件:aether-util-0.9.0.M2.jar 存放位置:H:\test打开CMD,进入到H:\test目录,然后执行下面命令: mvn install:install-file原创 2016-01-05 15:15:45 · 5871 阅读 · 1 评论 -
Maven 编译使用 rt.jar
项目在使用mvn clean package 打包的时候出现 com.sun.image.codec.jpeg.JPEGCodec 是 Sun 的专用 API 这样的编译错误提示时,我们需要在maven编译插件中指定参数 rt.jar 文件。因为 rt.jar 是jre 中自带的 jar 包,所以才使用编译参数的方式使用。pom.xml 的代码片段如下:<build> <plugins>原创 2017-03-18 10:54:23 · 9269 阅读 · 2 评论 -
Maven仓库——私服介绍
私服是什么?私服,即私有服务器,是公司内部Maven项目需要通过其下载依赖包和插件的一个内部maven仓库。Nexus是常用的私用Maven服务器,一般是公司内部使用。常用功能和介绍 将自己的Maven项目指定到私服地址 从私服下载中央库的项目索引 从私服下载中央库的项目索引 将第三方项目jar上传到私服供其他项目使用Nexus 安装后,默认端口为8081,访问 http:/原创 2017-03-16 00:33:55 · 4108 阅读 · 0 评论 -
Maven 常用插件
=========Maven Report Plugin========= 1.源码分析 <artifactId>maven-pmd-plugin</artifactId> 2.代码格式检查 <artifactId>maven-checkstyle-plugin</artifactId> 3.代码相似度检查 <groupId>org.codehaus.mojo</groupId> <ar转载 2017-04-03 16:10:17 · 3211 阅读 · 0 评论 -
Maven 工程添加 findbugs 插件
pom.xml 添加插件plugin<build> <plugins> <!-- findbugs插件 --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>findbugs-maven-plugin</artifactId>原创 2017-05-04 09:18:50 · 9094 阅读 · 1 评论 -
[ERROR] No plugin found for prefix 'docker' in the current project and in the plugin groups
错误内容:[ERROR] No plugin found for prefix 'docker' in the current project and in the plugin groups [org.sonarsource.scanner.maven, org.apache.maven.plugins, org.codehaus.mojo] available from the repos...原创 2019-04-28 23:56:40 · 15495 阅读 · 5 评论 -
maven下载source源码和doc
问题:某IDE里面点击某类文件,预查看对应的源代码,结果没有!!!方法:// cd 进入项目目录下,然后执行如下命令即可:mvn dependency:sources -DdownloadSources=true -DdownloadJavadocs=true(END)...原创 2019-07-10 15:18:51 · 3214 阅读 · 0 评论 -
既使用maven编译,又使用lib下的Jar包
在项目开发中,项目用maven管理,是一个maven项目。 一般情况下jar包都可以使用pom.xml来配置管理,但也有一些时候,我们项目中使用了一个内部jar文件,但是这个文件我们又没有开放到maven库中。 我们会将文件当到我们项目WEB-INF/lib中。 如果我们不对pom.xml进行特殊配置的话,maven打包是不会自动去引用和编译lib中的jar文件的,所以需要我们修改下pom.x原创 2015-09-16 09:32:19 · 43582 阅读 · 6 评论