因为springboot打包jar包执行jsp和在linux永久执行java -jar以及springboot的多环境配置 都是springboot的 就放在一起说了
先说 打包jar 不能找到jsp问题:
打包成jar的时候会找不到jsp文件 只需要 在pom.xml文件添加
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
<useDefaultDelimiters>true</useDefaultDelimiters>
</configuration>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/webapp</directory>
<!--注意此次必须要放在此目录下才能被访问到 -->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
</resources>
<testResources>
<testResource>
<directory>src/test/resources</directory>
<filtering>true</filtering>
</testResource>
</testResources>
</build>
然后打包使用命令 mvn package
然后启动jar 使用 java -jar app.jar
在此也说一下spring 的多环境配置:
在pom.xml文件添加:
<profiles>
<profile>
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
<maven.test.skip>true</maven.test.skip>
<scope.jar>compile</scope.jar>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
<maven.test.skip>true</maven.test.skip>
<scope.jar>provided</scope.jar>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
<maven.test.skip>true</maven.test.skip>
<scope.jar>provided</scope.jar>
</properties>
</profile>
</profiles>
然后就可以把springboot的配置文件分成 开发用 测试用 生产环境用的xml或yml
在打包时候 使用 java -jar app.jar --spring.profiles.active=dev 这样就能指定开发环境springboot的配置文件
如果在liunx上启动jar包 使用传统的java -jar会导致 操作之后就会关闭这个程序
所以可以使用:nohup java -jar app.jar --spring.profiles.active=dev & 来启动这个程序 当然要关闭这个启动程序 需查看端口号
使用:ps aux|grep java 来查看java运行的端口 最后使用 kill 1020来杀掉这个端口 这里的 1020 是一个比如的端口号
因为比较急,写的可能有些粗糙 如果有问题 可以留言,一起讨论。