【注】网上针对此问题有很多解决方案,但是我发现这个方案是最直接,最好用的,您可以也试一下!
最近在整理一个前后端分离的web项目,后端使用Maven做jar包管理,使用
Eclipse进行开发,由于长期没有写过Web项目了,项目使用Tomcat发布时候,使用前端无法访问后台,几经周转,才发现原来是项目在初始化配置时,没有做过多的项目属性选择,也就是把它初始化为一个普通的Maven项目了,无法进行有效的发布,与其它正常的Maven项目相比,右键项目名--->属性,中少了deployment assembly,这一项导致了Tomcat发布时候,SpringBoot根本没初始化,从而导致后台代码无法与前台进行交互。解决方案如下(基本稳准狠!)。
1 右键项目名,属性选项中,看下自己的项目是否为动态的web项目,如果不是记得勾选。
1.1 当然这里说一下题外话,如果您勾选的 Dymamic Web Module 报错,或者不让您选,怎么办呢?
在项目根目录下找到 .setting 文件夹,
然后找到 蓝色区域的文件,打开,自己进行手动调整
可以自行调整对应的版本,我这里用的 2.3 。
2 在您的项目根目录下,有个 .project 文件
3 打开编辑<natures></natures>部分,如下
<natures>
<nature>com.genuitec.eclipse.springframework.springnature</nature>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>com.genuitec.eclipse.ast.deploy.core.deploymentnature</nature>
<nature>com.genuitec.eclipse.j2eedt.core.webnature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
<nature>org.eclipse.wst.jsdt.core.jsNature</nature>
</natures>
4 重启您的Eclipse,右键项目名,发现了Deployment Assembly选项,然后进行进一步的 Jar 包管理。
5 一定要选择 Maven的Jar包,具体步骤:
(1)点击 Add 和 Java Build Path Entries
(2) 选择 Maven 那个jar 包管理,则最终会成为:
(3) 然后在 Tomcat 发布项目的时候,你会看到引入了 Spring-web.jar,这就可以顺利启动项目了。
有问题及时沟通!