您的位置:首页 > 运维架构 > Tomcat

springboot项目在外部tomcat下可以启动但是无法访问的问题

2019-03-23 22:43 811 查看
版权声明:本文为博主原创文章,未经博主允许不得转载 https://blog.csdn.net/weixin_42237752/article/details/88770230

首先要确定已经生成了正确的war包,具体操作如下:

1. 在pom.xml中加入

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

还需要在project标签下加入

<packaging>war</packaging>

2. 在Application启动类中修改

  1. 需要继承SpringBootServletInitializer类
  2. protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(SecurityApplication.class);
    }
@SpringBootApplication
public class SecurityApplication extends SpringBootServletInitializer{

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SecurityApplication.class);
}
public static void main(String[] args)  {
SpringApplication.run(SecurityApplication.class, args);
}
}

3.运行clean package命令打包

将项目打成war包放到tomcat的wabapps目录下
运行tomcat

重点来了!!!(敲黑板)

我都做完了这些步骤后,tomcat可以正常启动,但却访问不到项目,访问项目时是404,
找了半天原因,结果是在tomcat下访问时默认路径必须添加上项目名,然后我们项目是前后端分离的并且没有写项目名称,平时使用内置tomcat时直接访问localhost:8080就可以,但是转到外置的tomcat就不行了。几经周折找到了解决办法

修改tomcat的默认访问路径

打开tomcat文件夹下的conf,修改server.xml文件,如下:

<Host name="localhost"  appBase="webapps"
unpackWARs="true" autoDeploy="true">
//将path修改为""即可,
<Context path="" docBase="C:\Users\Administrator\Desktop\开发组件\apache-tomcat-8.0.52\webapps\myblog-1.0"> </Context>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />

</Host>

20000

重启tomcat就可以使用localhost:8080来访问项目了!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐