导入已存在的maven项目引起的资源路径访问不到问题

前段时间在导入已存在的maven项目并发布到Tomcat服务器运行的时候出现了问题,通过项目名作为路径访问不到对应的资源,而通过已存在的项目名称可以访问到发布的资源,比如说已存在的项目名称叫做abc,而发布到服务的项目名称叫做adb,通过localhost/adb/index访问不到对应资源,而通过localhost/abc/index可以访问到资源,很是纳闷。哪里出了问题,于是一顿操作猛如虎各种找问题修改配置文件,重新部署发布项目,但结果就是没有结果。到底是哪个配置文件配置出错起到了关键作用呢。此时可以通过在当前项目中进行全局搜索,查找哪里配置了项目名abc。搜索方法如下:

首先进入Effective  POM选项:

导入已存在的maven项目引起的资源路径访问不到问题

ctrl+h:打开全局文件搜索对话框,输入要搜索的字符串,可以通过scope项的Selected resources选项指定在哪个项目进行搜索

导入已存在的maven项目引起的资源路径访问不到问题

搜索结果如下,可以看到以下是搜索到的含有abc的配置项

导入已存在的maven项目引起的资源路径访问不到问题

最后通过修改项目中.settings目录下的component文件中的<property name="context-root" value="abd"/>属性中value为abc完美解决问题。

最后附上正确导入已经存在maven项目的正确方法:

由于已经存在的项目和新建的项目各种配置环境不一样,通过eclipse的Import导入项目可能出现各种错误无法直接执行,需要解决各种配置问题,很是繁琐。所以这里建议新建一个maven项目,然后只拷贝已存在项目中的src和pom.xml文件到新建的项目中,选中新建的项目Ctrl+v即可。