最近部署一个从github上拉取的maven项目,遇到各种问题,最终解决成功运行,在此记录一下解决过程。
一,maven下载jar包失败
该项目依赖了大量jar包,很多包下载失败了,本地仓库里面都是一些 lastUpdated 的文件,只有把这些文件清理掉之后才能再次让maven下载,如果一个一个目录去删就太费时间了,因此在网上淘了个bat脚本直接删除lastUpdated 文件,脚本如下:
rem -- 这里写你的仓库路径
set REPOSITORY_PATH=F:\maven_repository
rem -- 正在搜索...
for /f "delims=" %%i in ('dir /b /s "%REPOSITORY_PATH%\*lastUpdated*"') do (
del /s /q %%i
)
rem 搜索完毕
pause
二,eclpse的Markers视图使用
虽然jar包已经下载完成,但是很有可能有些jar包有问题,比如某个jar包本身只有200kb,但是maven下载下来这个jar包可能有250kb,明显这个jar包下载的有问题,其实这个jar文件是损坏了的,根本读取不了,所以项目上面有个红叉或者感叹号但是代码里面没有任何报错,这时打开eclipse的window--show view--other..--搜索Markers打开这个视图,看里面红色的部分,都是提示某个jar包损坏(后面有个感叹号),将本地仓库中这些jar包全部删掉重新触发maven下载
三,明明maven依赖里有xx.jar的com.xx.A.class这个文件,但是代码里面import com.xx.A这行偏偏报错,这也是xx.jar文件损坏的原因,删掉重新下载
四,好不容易项目都不报错了,但是发布到tomcat中报错提示IndexOutOfboundsException,网上查说也是本地仓库jar包的问题,但不知道到底是哪些jar包有问题(Markers视图没报错了),都说删掉整个本地仓库,但是我的本地仓库太大了,删掉后不知道要下载多久,于是我直接打war包(eclipse上对项目右键--run as--maven build...--输入clean package 勾选skip tests 进行打包)后放到tomcat中启动,报错[....xxx.jar] from WEB-INF/lib java.util.zip.ZipException,显然是xxx.jar包是损坏的,于是删掉本地仓库的xxx.jar重新下载然后重新启动tomcat,又提示另一个yyy.jar有问题,就这样处理差不多10个jar包,感觉不知道还有多少要处理,偶然发现maven打包过程中的日志里面有一些ERROR信息,大概是
读取xxx.jar时出错; invalid LOC header (bad signature)这样的信息,说明这个jar包是损坏的,这样可以一次性看到所有损坏的jar,将这些jar删除掉再下载,打包没有上述WARN日志说明真的是没有问题了
有时候用maven package 也未提示也并没有错误信息,能正常打包,但是发布到tomcat中还是报错invalid LOC header (bad signature),这时要再次执行maven clean 后在执行maven package 就能让maven报错了
最近还发现一个规律,下载失败的jar的文件夹内,似乎一定有一个名称以 aether- 开头的一个文件,例如:
e15a80f4-d647-48c1-a851-91643020492f-junit-4.9.jar.sha1-in-progress
所以也可以直接在本地仓库搜索 aether ,将含有此类文件的jar目录全部删除,再次让maven重新下载
五,maven实在下载不了的,直接在http://mvnrepository.com/ 中搜索出该jar下载后放到本地仓库对应目录中
分享到:
相关推荐
Java中的“索引越界异常”(IndexOutOfBoundsException)是编程时常见的错误类型,尤其是在处理数组、集合或字符串等数据结构时。这个异常通常发生在尝试访问一个不存在的位置时,比如访问数组的一个负索引或者超出...
IndexOutOfBoundsException如何解决.md
IndexOutOfBoundsException解决办法.md
IndexOutOfBoundsException(解决方案)
项目中碰到的,已解决,写个文档记录一下
NULL 博文链接:https://liuzidong.iteye.com/blog/1071677
项目中碰到的,记录一下
核心配置文件 核心配置文件 核心配置文件 核心配置文件 核心配置文件 核心配置文件 核心配置文件 核心配置文件 核心配置文件 核心配置文件 核心配置文件 核心配置文件 核心配置文件 核心配置文件
- **异常类型**:识别错误日志中的异常类型,如NullPointerException、IndexOutOfBoundsException等。 - **堆栈跟踪**:查看堆栈跟踪信息,确定错误发生的具体位置和调用路径。 - **错误消息**:理解错误消息,它...
【北大青鸟6.0 S1 Java 项目 MiniDVD】是一个针对初学者的Java编程教程,旨在通过实际项目的方式帮助学员掌握基础的Java编程技能。在这个项目中,"使用集合的思想实现添加和删除"是核心知识点,虽然它并不是Java集合...
方法接收到不合适、不合法的参数。 **处理方法:** 在方法内部检查传入参数的有效性。 ```java if (isValidParameter(param)) { doSomething(param); } else { throw new IllegalArgumentException("Invalid ...
在大型项目中,开发者可能会遇到无法获取源代码的库,此时,JD-GUI就显得非常实用,它可以帮助开发者洞察这些库的功能,以便更好地集成和调试代码。 JD-GUI的特点包括: 1. **实时查看**:它可以即时加载并显示类...
java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder 继承并重写LinearLayoutManager.onLayoutChildren()方法 class WrappedLinearLayoutManager : ...