maven项目发布到tomcat报错IndexOutOfBoundsException

记录今天,更新代码之后遇到的问题:
更换了本地仓库地址,下载的jar有问题,可能是冲突或者缺失的问题,删除之后重新下载,项目没有再报错。。。。。

更新完之后,项目不能启动了:
java代码报错缺包,但是外面文件没有小红叉提示.;无法发布项目
由于改动的东西比较多,修改过jdk的配置,tomcat配置,maven配置,因此原因没能直接确定原因
首先是项目的最外面是一个红叹号,而进入一些java文件发现有错报,但是文件上没有小红叉
修改:
项目上右键–>properties–>javacompiler–>building–>enable project specific setting–>build pathproblems–>选中abort Incomplete build path/Circular dependencies 这两个选项修改为Warning
修改完之后,项目上的红叹号没有了,而且文件上出现了小红叉,然后修改项目的报错信息。

然后启动Tomcat报错:
“Updating status for Tomcat v7.0 Server at”. java.lang.Index OutOfBoundsException

Could not publish to the server java.lang.IndexOutOfBoundsException

又搜索说是maven仓库里面出现jar冲突(虽然项目里面没有报错),于是重新建立一个目录,然后修改settings文件本地仓库地址指向新目录,更新之后但是出现jar的缺失,项目报错,但是项目是可以触发部署,只是启动会报错。原因定位确实是因为原来的仓库目录中出现jar缺失或者包冲突的问题。可能是更新了pom文件,里面添加了新的依赖,出现了问题。
由于在新目录中没有将全部的jar下载或者下载失败,于是有将缺失的包从原目录copy过来,项目可以部署。
OutOfBoundsException,主要问题,应该就是maven仓库下的包出现问题,删除后重新更新。

参考文章:http://blog.csdn.net/jy_he/article/details/51838321

然后解决项目启动一直报错的其他问题:
1、报错:org.apache.tomcat.util.scan.StandardJarScanner scan
Failed to scan JAR
[file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp6/wtpwebapps/MedicalCareSignature/WEB-INF/lib/stax2-api-3.1.4.jar] from WEB-INF/lib
java.util.zip.ZipException: invalid CEN header (bad signature)
查找原因
Failed to scan JAR 扫描包的时候stax2-api-3.1.4.jar确实没有在lib下,而在pom中也没有stax2相关的引用,可能是别的jar有引用。
于是找到原来的仓库将这个包copy到新目录

2、项目一直重启,由于每次启动完成之后,会添加一个包commons-codec-1.11.jar,导致debug的时候出现项目变化,然后就自动重启
于是找到原来的仓库将这个包copy到新目录

刚建的私服好坑。。。

你可能感兴趣的:(问题)