今天,总算把之前做的那个项目部署了一下,我之前改了个小东西,试着用spring boot开发了一下啊,之前都是在编辑器上运行,没有部署,今天试着部署了一下,我就把我遇到的问题简单总结一些。
首先要让spring boot 支持jar,如下 <packaging>jar</packaging>,这个必须有,然后支持maven,需要
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
注意这种方式只支持一个main方法,运行如下:
<finalName>文件名</finalName>
要控制打包的jdk的版本,我们需要
<properties>
<java.version>1.7</java.version>
</properties>
这样配置,例子为jdk1.7
关于打包后webapp的目录丢失的问题,以及resources目录没有打到 jar中的问题:如下配置就好:
<!-- 解决webapp目录丢失的问题-->
<resources>
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
<!-- 解决resources目录-->
<resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
</resources>
首先要让spring boot 支持jar,如下 <packaging>jar</packaging>,这个必须有,然后支持maven,需要
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
注意这种方式只支持一个main方法,运行如下:
java -jar jar文件
例如:
java -jar spring-boot01-1.0-SNAPSHOT.jar > log.file 2>&1 &
上面就是把日志输出到后台
对于如何停止spring boot 的应用?
用:
ps -ef|grep jar包文件名全称
找到进程,然后: kill -9 进程名称
然后打包后的文件名为:<finalName>文件名</finalName>
要控制打包的jdk的版本,我们需要
<properties>
<java.version>1.7</java.version>
</properties>
这样配置,例子为jdk1.7
关于打包后webapp的目录丢失的问题,以及resources目录没有打到 jar中的问题:如下配置就好:
<!-- 解决webapp目录丢失的问题-->
<resources>
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
<!-- 解决resources目录-->
<resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
</resources>
遇到就这些,以后有再补充吧。
补充:在后来我发现出现了Initializing Spring FrameworkServlet 一直卡,用run configure VM -Ddebug发现,resources没有在class中,最后发现idea中那段resources的配置是多余的,可以考虑把它删掉。