您的位置:首页 > 编程语言 > Java开发

Spring boot 项目打成war 包,发布到glassfish上的配置

2017-01-05 00:00 549 查看
修改pom.xml ​​​​​​

<groupId>com</groupId>
<artifactId>SpringBootWeb</artifactId>
<version>1.0</version>
<packaging>war</packaging> //将 jar 修改为 war
<name>SpringBootWeb</name>


<!--构建war包 并且发布到tomcat/glassfish上-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope> //当打成war包 发布到tomcat 或 glassfish上时需要加上这句。
</dependency>

2 。在WEB-INF 下添加 web.xml文件(这个文件无论是jar包还是war包 都可以有,但打成war包是必须有) ,里面的内容很简单如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app
metadata-complete="true"
version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>SpringBootWeb</param-value>
</context-param>

</web-app>

3.修改 启动类


本地运行时用的是Application.jave,将里面的内容注释掉

package com.springbootweb;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
*
* @author gaosheng
*/
//@Configuration//配置控制
//@EnableAutoConfiguration//启用自动配置
//@ComponentScan//组件扫描
//@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {

//    public static void main(String[] args) {
//        //启动Spring Boot项目的唯一入口
//        SpringApplication.run(Application.class, args);
//    }

}

我是添加的ApplicationWarStart.java这个新的类,也可以直接修改Application.java

package com.springbootweb;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;

/**
*
* @author gaosheng
*/
//@Configuration//配置控制
//@EnableAutoConfiguration//启用自动配置
@SpringBootApplication
//@ComponentScan//组件扫描
public class ApplicationWarStart extends SpringBootServletInitializer{

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(ApplicationWarStart.class);
}

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

}

这样就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: