因为并行开发,后端一直拿不出接口,我不得不自己做Mock,为了完成网络请求逻辑,我使用Idea做模拟接口。后来发现,使用Idea创建的SpringBoot项目在软件内部的虚拟Tomcat上面可以正常运行,但是因为要做一些WebSocket和文件上传等服务,座椅考虑把程序部署到外部的Tomcat。普通的Web程序都没有问题,SpringBoot部署之后总是404。自己也怀疑想得太简单,估计问题还是出在那个DemoApplication的启动设置上。还好最近终于找到解决办法。
一、首先是要修改DemoApplication.java文件,我是另外建了一个。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String[] args) throws Exception {
SpringApplication.run(Application.class, args);
}
}
二、然后在pom.xml文件添加以下内容
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
三、资料标识要添加<packaging>war</packaging>这个标签,但是我的文件中已经有<packaging>jar</packaging>这个标签,我尝试没有动,结果表示没有问题。
四、按照以往的方法配置Artifacs和Tomcat Server.
五、尝试运行:
1.首先Artifacs设置为war包发布,Build Artifacs,放在webapps,启动Moniter Tomcat ,成功访问;
2.同上,内部启动,也能成功访问;
3.改成文件夹方式发布,内部启动,同样成功访问.
至此,问题解决。