解决:maven仓库的ear里面有非常多个同样的jar(仅仅是包括不同的:版本号+时间戳)

问题描写叙述: 发现ear里面有非常多个同样的jar,仅仅是包括不同的:版本号+时间戳,例如以下图所看到的:

(比如:itoo-basic-api有非常多同样的jar,仅仅是包括不同的:版本号+时间戳)

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" width="700" height="600">

解决思路

用权限的itoo-authority-usergroup-ear模块进行測试

1.怀疑是:maven的坐标。时间戳的问题

keyword:

maven snapshot

maven war中同一个jar有非常多不同版本号

maven 本地仓库 同一个jar有非常多不同的版本号

maven 从nexus上更新下来有非常多版本号的jar

....

2.怀疑是:nexus的问题

怀疑nexus上ear的版本号不是最新的。

故。在eclipse的ear的pom.xml中,右键Run As ---Maven build ----输入”deploy”到nexus上。

后Jinkens上构建(省略)。

后查看:D:\itoo-maven-3.2.3\repository\com\tgb\***\0.0.1-SNAPSHOT中的jar是否包括非常多个同样的jar,仅仅是包括不同的:版本号+时间戳?

(答案:非常多个同样的jar,仅仅是包括不同的:版本号+时间戳)

3.怀疑是:Jinkens中配置问题

4.怀疑是:maven本地仓库的问题

首先。删除本地的maven仓库中的tgb目录。

后删除:jenkins9中tmp_authority中的itoo-authority-usergroup-ear.ear

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" width="700" height="500">

后Jinkens上构建(省略)。

后查看:D:\itoo-maven-3.2.3\repository\com\tgb\***\0.0.1-SNAPSHOT中的是否有:非常多个同样的jar,仅仅是包括不同的:版本号+时间戳?

(答案:是。Ear中有非常多个同样的jar,仅仅是包括不同的:版本号+时间戳)

5.怀疑是:maven中jar包依赖冲突的问题

(參照此图)

先排除jar包冲突

后提交SVN代码

后Jinkens上构建(省略)。

后查看:D:\itoo-maven-3.2.3\repository\com\tgb\***\0.0.1-SNAPSHOT中的jar是否包括:非常多个同样的jar。仅仅是包括不同的:版本号+时间戳?

(答案:是。Ear中有:非常多个同样的jar。仅仅是包括不同的:版本号+时间戳)

6.怀疑是:ear的pom文件里maven插件配置的问题

a)    首先将ear的pom.xml中加入截图中的代码

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

b)    后提交SVN代码

c)    此时构建分为两种方式:

    i.第一种:ear文件夹下,cmd命令中,输入:mvn  clean install。

1.   后查看:D:\itoo-maven-3.2.3\repository\com\tgb\***\0.0.1-SNAPSHOT中的jar是否包括:非常多个同样的jar,仅仅是包括不同的:版本号+时间戳?

2.    

3.  (答案:某一功能的jar仅仅有一个!且没有:版本号+时间戳)

    ii.  另外一种:通过Jinkens又一次构建(省略)。

1.  后查看:D:\itoo-maven-3.2.3\repository\com\tgb\***\0.0.1-SNAPSHOT中的jar是否包括:非常多个同样的jar。仅仅是包括不同的:版本号+时间戳?

2.    

3.    (答案:jar包个数降低,可是仍然含有:版本号+时间戳)

4.    差点儿全部的jar都是两份:一个是***-0.0.1-SNAPSHOT.jar 和***-0.0.1-20150602.091811-14.jar

5.    推測:此次配置是有效果的。可是可能受到该ear上一级的影响。

6.    故,測试itoo-tool(见下)

终于方案:改动itoo-root中的pom.xml中maven插件配置

1)   用eclipse从SVN中下载itoo-root

2)   后对itoo-root中的pom.xml文件做两部改动:

a)    第一步:删除原有关于maven插件的配置

b)    

c)    第二步:加入新的maven插件的配置

d)    

3)   后将改动后的pom.xml文件提交到SVN

4)   后itoo-root的pom.xml中右键RunAs ---Maven build 中输入“deploy”就可以。

5)   后在Jinkens中的itoo模块的itoo-root,右键自己主动构建

6)   

7)   后依次构建:core--web--ear

8)   

9)   后在Jinkensserver中。检查itoo-authority-usergroup-ear中的jar

10)

11)

12)Perfect!

总结

归根究竟,还是由于maven的插件配置的问题。

非常多时候,对于工具的使用,仅限于初步使用。这次在优化期间,收获还是颇多的!

系统优化(一)Maven打包同一个jar有不同的:版本号+时间戳(解决思路)的更多相关文章

  1. Maven打包同一个jar有不同的:版本+时间戳(解决思路)

    在我们的开发过程中,目前流行的版本控制工具maven,在项目开发阶段,大家都是通过发布SNAPSHOT快照版进行相互模块之间的依赖开发, 这个时候就会有一个问题,要是一天构建多次的快照版,会发现在项目 ...

  2. SpringBoot Maven打包项目JAR/WAR

    安装Maven 1. 登录 http://maven.apache.org/download.cgi 2. 下载 maven 压缩包 3. 解压apache-maven-3.6.0-bin.tar.g ...

  3. IDEA Maven 打包运行 jar java.io.FileNotFoundException: 问题?

    当 使用 idea maven 将项目打包运行的时候,能够成功运行,但是总会跑到 xxx\xxx\lib 下 找jar包 如下异常: java.io.FileNotFoundException: D: ...

  4. Maven打包成Jar文件时依赖包的问题

    我们项目中使用到第三方的库文件,这些jar库文件并没有放到Maven中央库上,导致我们需要在项目中自己配置使用.我们的两三个开发人员对Java都是很熟,因此在使用中遇到了一些问题,表现在:在本地中引入 ...

  5. 正确配置jstl的maven依赖,jar包冲突的问题终于解决啦

    困扰了两天的问题,非常头疼,今天终于有了解决思路了,说到底,还是对maven不够了解吧.总是抱怨maven不好用,出现各种无厘头的问题,原来这些都是归于对它不够了解不够熟悉,它提供了很好的解决思路,只 ...

  6. [DEBUG] spring boot在eclipse中用maven打包成jar访问templates报500错误

    更新:打war包的话只要把html文件放在resources/templates下即可,根本不需要放外面. 配置application.yml和templates放外面这种做法,打war包确实不行. ...

  7. Spring Boot 使用maven打包成jar

    1.application.properties加入如下配置 server.port= 2.修改pom.xml <?xml version="1.0" encoding=&q ...

  8. SpringBoot通过maven打包成jar,设定主清单属性。

    文章目录 原来普通的jar包一直是 <build> <plugins> <plugin> <groupId>org.apache.maven.plugi ...

  9. maven打包(jar)类型错误

    maven项目打包测试环境时部署发现是开发环境.确认打包命令无误, 此情况下将target内容全部删除,重新打包即可.是全部删除.

随机推荐

  1. Android(java)学习笔记164:开发一个多界面的应用程序之不同界面间互相传递数据(短信助手案例)

    1.首先我们看看下面这个需求: 这里我们在A界面上,点击这个按钮"选择要发送的短信",开启B界面上获取网络上各种短信祝福语,然后B界面会把这些网络祝福语短信发送给A界面到" ...

  2. activiti 表名称的解释

    链接:java工作流activiti的步骤 Activiti的后台是有数据库的支持,所有的表都以ACT_开头. 第二部分是表示表的用途的两个字母标识. 用途也和服务的API对应. ACT_RE_*: ...

  3. 前端什么是BFC

    什么是BFC? 全称块级格式化上下文?什么意思不懂.看了好多博客,基本都是抄的,真心都不是大白话.我今天来总结一下,用菜鸟级别的语言来描述. BFC 应该可以抽象成一个 独立的个体,出淤泥而不染的白莲 ...

  4. Linux关闭命令行正在执行的程序

    Ctrl + C 终止    是强制中断程序的执行,,进程已经终止. Ctrl + Z   是将任务中止(暂停的意思),但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg ...

  5. ubuntu命令行转换图片像素大小

    convert -resize 512x256 00433.png 00001.png 1.512和256之间是x(就是字母那个x),用' * '反而会报错 2.这个命令会按照原图的比例进行转换 3. ...

  6. windwos .bat脚本大全

    记录一个很有用比较全面的windows .bat脚本网站 https://www.cnblogs.com/zhaoqingqing/p/4620402.html

  7. Liskon替换原则

    肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑.其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的. 定义1:如果对每一 ...

  8. 常见的User-Agent

    User_Agent = ["Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533. ...

  9. 【BZOJ 1076】[SCOI2008]奖励关(期望)

    Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关.在这个奖励关里,系统将依次随机抛出k次宝物, 每次你都可以选择吃或者不吃(必须在抛出下一个宝物之前做出选择,且现在决定不吃的 ...

  10. 关于程序计数器(PC)和条件控制转移 引起的性能差异

    关于PC(程序计数器) 冯 ·诺伊曼计算机体系结构的主要内容之一就是“程序预存储,计算机自动执行”! 处理器要执行的程序(指令序列)都是以二进制代码序列方式预存储在计算机的存储器中,处理器将这些代码逐 ...