二丫讲梵 二丫讲梵
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)

二丫讲梵

行者常至,为者常成
首页
  • 最佳实践
  • 迎刃而解
  • Nginx
  • Php
  • Zabbix
  • AWS
  • Prometheus
  • Grafana
  • CentOS
  • Systemd
  • Docker
  • Rancher
  • Ansible
  • Ldap
  • Gitlab
  • GitHub
  • Etcd
  • Consul
  • RabbitMQ
  • Kafka
  • MySql
  • MongoDB
  • OpenVPN
  • KVM
  • VMware
  • Other
  • ELK
  • K8S
  • LLM
  • Nexus
  • Jenkins
  • 随写编年
  • 家人物语
  • 追忆青春
  • 父亲的朋友圈
  • 电影音乐
  • 效率工具
  • 博客相关
  • Shell
  • 前端实践
  • Vue学习笔记
  • Golang学习笔记
  • Golang编程技巧
  • 学习周刊
  • Obsidian插件周刊
关于
友链
  • 本站索引

    • 分类
    • 标签
    • 归档
  • 本站页面

    • 导航
    • 打赏
  • 我的工具

    • 备忘录清单 (opens new window)
    • json2go (opens new window)
    • gopher (opens new window)
    • 微信MD编辑 (opens new window)
    • 国内镜像 (opens new window)
    • 出口IP查询 (opens new window)
    • 代码高亮工具 (opens new window)
  • 外站页面

    • 开往 (opens new window)
    • ldapdoc (opens new window)
    • HowToStartOpenSource (opens new window)
    • vdoing-template (opens new window)
GitHub (opens new window)
  • 最佳实践

  • 迎刃而解

  • Nginx

  • Php

  • Zabbix

  • AWS

  • Prometheus

  • Grafana

  • Loki

  • CentOS

  • Supervisord

  • Systemd

  • Docker

  • Docker-Compose

  • Rancher

  • Ansible

  • OpenLdap

  • GitLab

  • GitHub

  • Etcd

  • Consul

  • RabbitMQ

  • Kafka

  • Mysql

  • MongoDB

  • OpenVPN

  • Kvm

  • VMware

  • 配置文件详解

  • Other

    • 整理蓝鲸社区版3-X部署文档
    • 关于开源堡垒机jumpserver_1-2的一些体验记录
    • 防火墙基础知识之SNAT详解
    • 关于easyops的社区版与正式版两者体验之思考
    • DELL R430服务器做raid以及安装操作系统过程
    • CentOS系统安装之后的优化
    • 如何快速的批量配置某台主机对多台主机免密码登陆
    • Python-2-7的安装
    • pinpoint安装流程
    • CentOS7上Python-3-6的安装
    • 记录我与maven的故事三则
      • 故事一:编译的配置指向。
      • 故事二:mvn install 与 mvn clean install。
      • 故事三:编译的时候指定 maven 的配置文件
    • tomcat默认日志优化处理
    • Maven 基础知识大全汇总整理
    • 会话管理工具tmux整理
    • 使用pure-ftpd搭建ftp服务
    • 简单快速部署轻量Git服务器gogs
    • 使用athens部署企业内部Gitlab包的私服代理
    • 快速部署cerebro-v0-9-4监控es集群状态
    • 使用transfer部署一个内网上传程序
    • 认识并使用一个透明代理http-server
  • 运维观止
  • Other
二丫讲梵
2018-08-29
目录

记录我与maven的故事三则

文章发布较早,内容可能过时,阅读注意甄别。

在实际工作当中,很多时候会遇到一些有意思的事情,这些事情可能你原本压根没在意过,或者一丁点都不知道,但是在某一些卡住你过不去不得不解决而又解决了的经历之后,你的那种喜悦感,以及收获感,是非常丰富而满足的,今天,我就来记录一下工作中与 maven 这个并不太多打交道的工具之间的小故事两则。

# 故事一:编译的配置指向。

这个故事事实上在写 Jenkins 配置的那篇文章里边已经表达过了,这里简单概述一下,然后留下那里的详细链接。

故事非常简单,就是我们运维这边以前在打包的时候从来都是用下边的命令:

mvn clean install -Dmaven.test.skip=true
1

这没有什么毛病,但是因为在编译的时候只能读取默认的在主机的/root目录下生成的antx.properties文件,这会导致一些配置方面的问题,带来一点点麻烦,直到有一天一个同事划了一个圈,就彻底改变了命运:

mvn clean install -Dmaven.test.skip=true -Dautoconfig.userProperties=/root/pre_config/antx.properties_pre
1

从此以后再也不担心关于配置的复杂问题了,直接进行读取的指向,就一劳永逸了。

关于这个故事的详细内容可以看:https://wiki.eryajf.net/pages/1626.html#_2-%E7%BC%96%E8%AF%91%E6%9B%BF%E6%8D%A2%E6%B3%95%E3%80%82

image

# 故事二:mvn install 与 mvn clean install。

这个故事是在一个同事说他的项目代码更改了一些东西,但是发布之后发现好像并没有变化之后,引发的一系列深入探讨与试验,当时因为对比了一下编译流程,发现了只有在编译的时候差了一个 clean 的参数,因此就打算针对这个参数进行一些试验。

  • 试验进行了三次,第一次是原始代码的试验,进行一次打包。
  • 第二次试验的时候在代码里取消掉一个 jar 包的引用,然后用mvn install -Dmaven.test.skip=true的命令进行打包,发现打完包之后,代码里取消调用的那个 jar 包竟然依然存在。
  • 第三次试验采用刚刚的代码(也就是取消那个 jar 包的调用),然后用mvn clean instal -Dmaven.test.skip=true的命令打包,发现打完包之后,代码里取消掉用的那个 jar 包也随之消失。

看完了这个试验之后,我们赶紧乖乖的在项目里都加入了 clean 的参数。

关于这个地方的详细探讨请看专业人士的专业文章:https://blog.csdn.net/abc86319253/article/details/44019881

# 故事三:编译的时候指定 maven 的配置文件

一般在公司里边,都会有自己搭建的私有仓库来作为 maven 的打包仓库,如果仓库的版本较新,那么一般可以与公网的远程仓库同步,如果仓库的版本略旧一些,那么就需要开发人员将项目中对应的依赖的 jar 包,传到私服当中来,一般情况下,项目编译的时候默认的就从内网的私服拉取 jar 包进行编译。

然而,有时候也会有另外的情况,那就是项目一开始就是用默认的远程仓库进行拉取依赖的,那么这个时候再使用内容的仓库进行编译,就会发生各种编译不过去的问题。这个时候,有两种解决方案,一个是依赖于 Jenkins 的 maven 风格进行配置文件的指定,还有一种就是直接在命令行里通过参数进行指定。

mvn clean install -gs /usr/local/maven/conf/settings1.xml -Dmaven.test.skip=true
1

其中 settings1.xml 是用的 maven 的默认配置文件,通过这条命令编译之后,一下子就完成啦。

微信 支付宝
上次更新: 2024/07/04, 22:40:37
CentOS7上Python-3-6的安装
tomcat默认日志优化处理

← CentOS7上Python-3-6的安装 tomcat默认日志优化处理→

最近更新
01
理论正确,事实错误
06-21
02
学习周刊-总第216期-2025年第25周
06-20
03
睡着的人不关灯
06-12
更多文章>
Theme by Vdoing | Copyright © 2017-2025 | 点击查看十年之约 | 浙ICP备18057030号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式