Spring Boot框架开发Web项目之九 Spring Boot项目的打包和部署

本系列文章主要索引详情 点击查看


现在我们已经有了一个简单的项目了,我们应该怎么将项目打包,并部署到服务器上呢?

工具

IntelliJ IDEA 16
JDK 1.8
Maven 3.5
Tomcat 1.8

将项目打成war包并部署到Tomcat中

1、首先打开我们的pom.xml文件,修改其中的配置

<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>SNAPSHOT</version>
<packaging>war</packaging>

将<packaging>标签中的值修改为“war”,这样我们导出时,就会得到一个 xxx.war的文件了

2、然后我们再在pom.xml文件中添加Tomcat的依赖

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

其中需要添加<scope>provided</scope>

3、修改启动类
通常我们的启动类如下


@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

现在我们需要让启动类继承SpringBootServletInitializer类,并重写configur方法,代码如下


@SpringBootApplication
public class DemoApplication extends  SpringBootServletInitializer{
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(DemoApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

如果要发布到自己的Tomcat中的时候,需要继承SpringBootServletInitializer类,并且重写configure方法。
如果不发布到自己的Tomcat中的时候,就无需上述的步骤

4、选择IDEA菜单 Run - - Rebuild Project

5、然后再选择菜单 Run - - Build Atifacts...

6、在弹出的菜单中选择 All Atrifacts - - Build

7、执行之后我们可以在项目的target目录下看到如图所示的文件(demo-SNAPSHOT.war)

8、将此文件拷贝到我们的Tomcat的webapps目录下,删除文件名后的版本信息,只保留项目名称(修改demo-SNAPSHOT.war 为demo.war)

9、运行Tomcat 的bin目录下的startup.bat,我们可以看到webapps目录下的war包被自动解压成一个文件

10、访问项目:http://localhost:8080/demo/profile


现在我们可以发现我们项目中使用的webjars模板并没有起到应有的效果。通过浏览器中使用 F12 (开发者工具)我们可以看到控制台中的错误信息,是因为找不到 webjars/jquery/2.1.4/jquery.js 和 webjars/materializecss/0.96.0/css/materialize.css文件.

通过观察我们可以发现,这三个路径中缺少了项目名称 “demo”,实际访问路径应该为:

http://127.0.0.1:8080/demo/....

检查我们default.html文件如下:

 <link href="/webjars/materializecss/0.96.0/css/materialize.css" type="text/css" rel="stylesheet" media="screen,projetion"/>
<script src="/webjars/jquery/2.1.4/jquery.js"></script>
<script src="/webjars/materializecss/0.96.0/js/materialize.js"></script>

去掉上述路径之前的“/”,如下:

 <link href="webjars/materializecss/0.96.0/css/materialize.css" type="text/css" rel="stylesheet" media="screen,projetion"/>
<script src="webjars/jquery/2.1.4/jquery.js"></script>
<script src="webjars/materializecss/0.96.0/js/materialize.js"></script>

然后再访问:http://localhost:8080/demo/profile , 我们即可看到美丽的页面了。

上一篇Spring Boot框架开发Web项目之八 表单校验

下一篇Spring Boot 框架开发Web项目之十 整合MongoDB

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容