eclipse复制项目运行时出现Multiple Contexts have a path of “/ssm“的问题
当我们需要在某个项目基础上再建立新项目时,只需在eclipse中打开某个项目,在项目资源管理器中选中该项目,右键,复制该项目,然后在空白处粘贴该项目,给新项目起个名字即可。比如原项目名字是ssm,新项目名字是ssmMybatisPlus,新复制的项目我们在执行右键run as --> run on server时,会出现如下错误

单击Details,会看到错误详情

Could not publish server configuration for Tomcat v9.0 Server at localhost.
Multiple Contexts have a path of "/ssm".
这时,我们打开项目资源管理器的server,找到server.xml文件,打开,去掉包含

再次运行,出现问题如下

解决方法,在项目资源管理器那里有个servers管理器,在那里把刚才运行的项目移除。

然后再次重新运行,就可以成功运行了。
我们可以看看新复制的项目有哪些变化,首先查看pom.xml和web.xml里面的信息没有变化,里面有项目id和显示信息,如果需要更改自己更改一下。
我们进入windows资源管理器的项目文件夹,找到.project文件,打开


可以看到项目名称已经被更改。
再 打开项目目录下 的.settings文件夹,找到org.eclipse.wst.common.component文件,打开,发现里面的deploy-name和context-root及java-output-path还会原来项目的。
这就造成我们运行时的网址还是原来项目的网址,如下图所示

改为如下内容
可以看到部署名称deploy-name和路径context-root,都已经改为ssmMybatisPlus。
此时,如果我们打开项目资源管理器中的deployed resources下META-INF文件夹下的包名ks.sxxy发现复制的项目没有使用新的项目名称ssmMybatisPlus,而是用的原来的项目名称ssm,打开其中的pom.properties,

我们发现aitifactedId和m2e.projectName均是原项目名称ssm,并没有改为新的项目名称,这些都是maven相关的,所以我们更改maven的pom.xml文件中的项目信息。
把原来的
ks.sxxy
ssm
0.0.1-SNAPSHOT
war ssm Maven Webapp
http://maven.apache.org
改为
ks.sxxy
ssmMybatisPlus
0.0.1-SNAPSHOT
war ssmMybatisPlus Maven Webapp
http://maven.apache.org
然后,选择项目,右键,maven-->update project,这时项目就会根据pom.xml发生更新,再次打开前面的deployed resources下META-INF文件夹下的包名ks.sxxy发现项目名称已经更新为ssmMybatisPlus,打开其中的pom.properties,发现里面内容也自动更新为新项目的

此时,再次运行项目,发现网址变为新项目的虚拟目录

这就是我们在复制项目后需要注意的一些问题。
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
