Maven的依赖产生文件,但没jar包依赖,怎么办

问题 1:依赖jar文件下载失败

   这个存放jar的文件的路径,是在settings.xml设置从nexus服务下载保存在本地的路径,是在这边设置的。

  解决方法有两个:

   方法一:是到下载保存在本地的路径把这个包里的后缀名.lastUpdated 文件删除,列如所图所示:

这样jar重新下载好。列如如图所示把整个axis2-jaxws的jar都拷贝到你本地对应的jar路径下。

pom.xml文件上依然提示缺失对应的jar,而且对应的缺少jar的路径下一直有后缀名.lastUpdated 文件。如果没把jar上传到nexus服务上,解决的方法是到对应缺少jar的路径下,把其他的都删除,只剩下后缀为.jar就可以了。

问题 2:在Maven项目工程上,我们有写测试类,在打包时,有时会BUILD FAILURE,打包就失败。

这两天使用maven项目需要打成可执行jar包,而且需要依赖本地项目jar包,然后出现了各种问题,maven打jar包后各种本地依赖包找不到;使用java打包和Eclipse导出可执行jar包后,jar包内的class文件都找不到路径。累死累活整了2天才可以正常执行。废话不多说,直接上说明:

使用mvn package 命令打包成功后会在target目录下生产jar包,这个jar包暂时命名为A包

由于项目中有使用到本地的依赖包,所以执行后出现文件找不到错误,本地包即使打入jar包依然无法读取到,本人试过放入打jar包时连同依赖包一起打入到jar包内,然后配置MANIFEST.MF中calsspath,依然不管用,这里估计是我本人配置方法不对,但是不管他了。

第二步:拼接class-path所有依赖包名字

多个jar包之间空格隔开

第三步:放入本地依赖jar包

将本地依赖jar包放入和可执行A jar包同级目录下即可,

可执行A jar包目前在test目录下,然后把本地依赖jar包全部复制到test目录下即可

到这里为止,本人的jar包终于可以正常执行了,也不用报路径异常,找不到文件 ,xml解析不了这些问题了。整完才发现,原来如此简单,困扰我的主要原因就是前期找不到文件的奇怪问题,命名已经打入jar包还是出现错误,害的我整了好久。原来jar包中依赖的jar包需要和他本人同级才可以正常。

使用java方式或者eclipse导出可执行jar包后,由于项目中使用到获取文件路径的代码,导致项目运行报各种路径不对,maven打包测不会。所以本人没有使用java方式。如果大神们有更好的方式,请留言告知,好让鄙人学习一下,谢谢。

1、第一声明优先原则: 在pom.xml配置文件中,如果有两个名称相同版本不同的依赖声明,那么先写的会生效。 所以,先声明自己要用的版本的jar包即可。

2、路径近者优先: 直接依赖优先于传递依赖,如果传递依赖的jar包版本冲突了,那么可以自己声明一个指定版本的依赖jar,即可解决冲突。

3、排出原则: 传递依赖冲突时,可以在不需要的jar的传递依赖中声明排除,从而解决冲突。 例子:

4、版本锁定原则(最常使用) 在配置文件pom.xml中先声明要使用哪个版本的相应jar包,声明后其他版本的jar包一律不依赖。解决了依赖冲突。 例子:

如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有:

第一个按钮:Reimport All Maven Projects 表示根据 pom.xml 重新载入项目。一般单我们在 pom.xml 添加了依赖包或是插件的时候,发现标注 4 的依赖区中没有看到最新写的依赖的话,可以尝试点击此按钮进行项目的重新载入。 第六个按钮:Execute Maven Goal 弹出可执行的 Maven 命令的输入框。有些情况下我们需要通过书写某些执行命令来构建项目,就可以通过此按钮。 第九个按钮:Show Dependencies 显示项目依赖的结构图,可以方便我们直观项目的依赖包情况。这个功能有些具体的操作下面会专门进行讲解。 如上图标注 2 所示,常用的 Maven 生命周期的命令,通过双击对应的命令来执行项目编译、打包、部署等操作。

如上图标注 3 所示,为我们在 pom.xml 中配置的插件列表,方便调用插件。

如上图标注 4 所示,为我们在 pom.xml 中配置的依赖包列表。

如上图标注 5 所示,为常见的 Java Web 在 Maven 下的一个项目结构。

大致了解过后,看怎么查看所有jar包的依赖关系。

图中的红色实线就算是冲突的,可以右键,排除,就自动在pom文件里面exclude。

我要回帖

更多关于 jar包依赖 的文章

 

随机推荐