系统优化(一)Maven打包同一个jar有不同的:版本+时间戳(解决思路)

解决:maven仓库的ear里面有很多个相同的jar(只是包含不同的:版本+时间戳)

问题描述: 发现ear里面有很多个相同的jar,只是包含不同的:版本+时间戳,如下图所示:

(例如:itoo-basic-api有很多相同的jar,只是包含不同的:版本+时间戳)

解决思路

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

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

关键字:

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

后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中添加截图中的代码

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)   后在Jinkens服务器中,检查itoo-authority-usergroup-ear中的jar

10)

11)

12)Perfect!

总结

归根到底,还是因为maven的插件配置的问题。

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-05 21:51:23

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

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

解决:maven仓库的ear里面有非常多个同样的jar(仅仅是包括不同的:版本号+时间戳) 问题描写叙述: 发现ear里面有非常多个同样的jar,仅仅是包括不同的:版本号+时间戳,例如以下图所看到的: (比如:itoo-basic-api有非常多同样的jar,仅仅是包括不同的:版本号+时间戳) watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

maven打包成jar,并排除指定文件

maven打包成jar,配置如下 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <finalName>order</finalName> <archive>

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

我们项目中使用到第三方的库文件,这些jar库文件并没有放到Maven中央库上,导致我们需要在项目中自己配置使用.我们的两三个开发人员对Java都是很熟,因此在使用中遇到了一些问题,表现在:在本地中引入第三方jar包后,在Idea中进行相应设置后,可以调试运行了,但是用Docker打包上传到服务器后,运行时会提示找不到某些类的定义. 经查看这些找不到的类就是来自第三方库,那么问题有可能是第三方jar包的路径问题,或者是根本就没有打包进jar文件里面.我们可以去Docker容器内部查看jar文件,执

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

困扰了两天的问题,非常头疼,今天终于有了解决思路了,说到底,还是对maven不够了解吧.总是抱怨maven不好用,出现各种无厘头的问题,原来这些都是归于对它不够了解不够熟悉,它提供了很好的解决思路,只是我们通常都不知道. 问题背景: 配置jstl依赖惹的祸, <dependency> <groupId>javax.servlet.jsp.jstl</groupId> <artifactId>jstl-api</artifactId> <ve

maven打包uber jar(包含依赖)

0 概述 工作中遇到了需要将一个工程打包为一个jar包的情形,参考了如下文档将方案整理于此. 参考: http://maven.apache.org/plugins/maven-shade-plugin/ https://www.cnblogs.com/oldtrafford/p/6901149.html 1 解决方案 采用maven shade插件进行打包 代码:https://github.com/pengchen211/maven-learning/tree/master/mvn-pkg-

maven打包成jar

maven pom.xml中添加依赖 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <mani

maven 打包成 .jar 文件执行:没有主清单属性错误

报错原因是pom.xml配置文件中没有指定main入口信息,在pom.xml文件中添加如下代码: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>1.2.1</version> <executio

maven中的jar包未下载完全如何解决?

1.连接的仓库有可能是要导入非默认的下载镜像地址.  如需更改,则在 D:\ProgramFiles\apache-maven-3.5.2\conf 下替换掉相应的settings.xml文件  并在IntelJ中,修改maven指定的settings.xml文件地址.   user settings file:指定settings.xml文件地址 local repository:指定maven本地仓库地址 (顺便吐槽一下eclipse,太难用了,自从用了IntelJ,感觉eclipse简直没

eclipse中maven依赖的jar源码中文注释乱码解决

通过maven下载源代码,在eclipse中浏览源代码时,发现中文注释为乱码的问题. eclipse默认编码造成的问题.可以通过以下方法解决: 1.修改Eclipse中文本文件的默认编码:windows->Preferences->general->Workspace->Text file encoding设置为UTF-8 2. 修改JAVA源文件的默认编码:windows->Preferences->general->Content Types->右侧Co