eclipse每天启动时maven 自动download jar包的pom解决方法
现在开发java项目很多都用到了maven进行jar包的管理,一般在企业里都会建立私服Nexus。近期遇到个问题,有个工程,每天启动eclipse时,都会有一次download jar包的pom,由于网络原因(用到代理上网),无法连接私服,导致download失败,启动不了。但是eclipse里的其他工程却没有这样的问题。
初步分析,相关jar包已经在本地仓库里,不应该再去下载什么,就像其他项目一样,应该直接启动。
找到本地仓库里下载失败的相关jar目录里的文件和其他jar目录文件对比。会发现下载失败的jar包目录里有很多
xxxxx.pom.lastUpdated这样的文件,有些还带些一长串的随机码,这些应该都是下载失败的零时文件。类似于迅雷一开始下载就会建立临时文件。 jar包名+.pom应该是该jar包的依赖配置,这也是为什么,我们只在pom.xml文件中配置一个关键jar,其他相关jar都会下载的原因,相当于一个依赖链。分析eclipse启动的时候,会检查一次(可能是每次启动检查一次,也可能是需要检查成功一次以后就不用检查),检查时发现没有有效的pom文件,就会去下载。下载继续失败,只是又多了几个lastUpdated的临时文件。
解决方法,找个能连接到Nexus的网络,启动一次。我的新的问题是,这样处理后,这一天是没问题了。到了第二天问题依旧。
公司的Nexus的服务器上没有这几个jar包,所以就算能连接上也只能管一天。至于nexus上为什么没有,可能是后期被人删掉了
因为是别人移交过来的项目,开始以为是项目的pom文件里做了什么特殊配置导致的。检查过,修改过还是不行
网上找的资料说是删掉lastUpdated文件,尝试后无效。后来想到自己给jar包建立pom文件,找个下载好的jar包里的pom文件来修改
<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>com.adobe.flex</groupId>
<artifactId>flex-messaging-common</artifactId>
<version>4.0.0</version>
<description>POM was created by Sonatype Nexus</description>
</project>
这就是基本格式,几个配置信息都可以在项目的pom.xml中获得,除了modelVersion,这个就暂时和version配置一样
激动的启动eclipse还是不行,又看到jar包目录里的_maven.repositories文件,和正常的jar包里的文件对比,发现差别
flex-messaging-proxy-4.0.0.pom>jboss=
正常的是:
flex-messaging-opt-4.0.0.pom>Nexus=
就把上面改成>Nexus=
再启动eclipse,ok。
也印证了解决一个问题的基本方法,对比。比较不同,一点点的改成一样,就可以找到问题的关键点
更多推荐
所有评论(0)