jar包启动

首先我们下载一个SpringBoot 工程,打开网站 https://start.spring.io/   加入web 下载即可;

Spring Boot jar启动和war启动_maven

 

下载完成之后,新建一个Controller 进行测试;

启动DemoWarApplication.java 即可;

Spring Boot jar启动和war启动_spring_02

启动完成访问 http://localhost:8080/aa 访问成功;

Spring Boot jar启动和war启动_maven_03

如果想jar包启动,在eclipse或者idea 可以进行install  

Spring Boot jar启动和war启动_xml_04

或者 进入项目路径下,打开命令行执行 mvn install 进行命令行打包。

Spring Boot jar启动和war启动_xml_05

打开命令行 执行命令,注意目录要跟项目目录一致;

Spring Boot jar启动和war启动_spring_06

出现 build success 表示执行成功;进入target 文件夹下面。

Spring Boot jar启动和war启动_xml_07

命令行执行 jar -jar demo-war-0.0.1-SNAPSHOT.jar  即可启动;

Spring Boot jar启动和war启动_maven_08

 

Spring Boot jar启动和war启动_jar_09

如上表示启动成功; 此命令行一旦关闭,服务也跟着关闭。

另外注意pom.xml文件的基本配置:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>docker-hello</artifactId>
    <version>1.0-SNAPSHOT</version>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.5.RELEASE</version>
    </parent>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

war包启动

pom.xml添加依赖,修改packaging 中的jar 为war包

	<build>
		<!-- war 名称 -->
		<finalName>${project.artifactId}</finalName>
		<plugins>
			<!-- 添加war 插件 -->
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-war-plugin</artifactId>
				<configuration>
					<failOnMissingWebXml>false</failOnMissingWebXml>
				</configuration>
			</plugin>
 
		</plugins>
	</build>
	<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-tomcat</artifactId>
			<scope>provided</scope>   <!-- 编译时依赖  运行是不需要此包 -->
		</dependency>

 

启动文件DemoWarApplication.java    集成 SpringBootServletInitializer 并且重写 configure 方法 例如:

@SpringBootApplication
public class DemoWarApplication extends SpringBootServletInitializer{

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

修改完成之后,即可打包,打入的war放入tomcat 即可;

要注意的是开始的访问的地址是  localhost:8080/aa 

放入tomcat之后要加入根目录的地址  localhost:8080/demo-war/aa  ,否则访问找不到地址;

工程地址 : javascript:void(0)