使用工具:Eclipse

  Linux下JDK版本:jdk-7u79-linux-x64.tar.gz

一、打包成jar并部署

  步骤如下:

  首先上pom.xml:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  2. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  3. <modelVersion>4.0.0</modelVersion>
  4.  
  5. <groupId>com.xxxe</groupId>
  6. <artifactId>programme</artifactId>
  7. <version>0.0.1</version>
  8. <packaging>jar</packaging>
  9.  
  10. <name>programme</name>
  11. <url>http://maven.apache.org</url>
  12. <properties>
  13. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  14. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  15. </properties>
  16.  
  17. <parent>
  18. <groupId>org.springframework.boot</groupId>
  19. <artifactId>spring-boot-starter-parent</artifactId>
  20. <version>1.4.2.RELEASE</version>
  21. </parent>
  22.  
  23. <dependencies>
  24. <dependency>
  25. <groupId>org.springframework.boot</groupId>
  26. <artifactId>spring-boot-starter-web</artifactId>
  27. </dependency>
  28.  
  29. <dependency>
  30. <groupId>junit</groupId>
  31. <artifactId>junit</artifactId>
  32. <scope>test</scope>
  33. </dependency>
  34. <dependency>
  35. <groupId>org.springframework.data</groupId>
  36. <artifactId>spring-data-commons</artifactId>
  37. </dependency>
  38. <dependency>
  39. <groupId>org.springframework.data</groupId>
  40. <artifactId>spring-data-jpa</artifactId>
  41. </dependency>
  42. <dependency>
  43. <groupId>org.springframework.data</groupId>
  44. <artifactId>spring-data-jdbc-core</artifactId>
  45. <version>1.2.1.RELEASE</version>
  46. </dependency>
  47. <dependency>
  48. <groupId>com.fasterxml.jackson.core</groupId>
  49. <artifactId>jackson-core</artifactId>
  50. </dependency>
  51. <dependency>
  52. <groupId>com.fasterxml.jackson.core</groupId>
  53. <artifactId>jackson-annotations</artifactId>
  54. </dependency>
  55. <dependency>
  56. <groupId>com.fasterxml.jackson.core</groupId>
  57. <artifactId>jackson-databind</artifactId>
  58. </dependency>
  59. <dependency>
  60. <groupId>org.slf4j</groupId>
  61. <artifactId>slf4j-api</artifactId>
  62. </dependency>
  63. <dependency>
  64. <groupId>org.apache.httpcomponents</groupId>
  65. <artifactId>httpcore</artifactId>
  66. </dependency>
  67. <dependency>
  68. <groupId>org.apache.httpcomponents</groupId>
  69. <artifactId>httpclient</artifactId>
  70. </dependency>
  71. <dependency>
  72. <groupId>org.apache.httpcomponents</groupId>
  73. <artifactId>httpmime</artifactId>
  74. </dependency>
  75. <dependency>
  76. <groupId>mysql</groupId>
  77. <artifactId>mysql-connector-java</artifactId>
  78. </dependency>
  79. <dependency>
  80. <groupId>org.springframework.boot</groupId>
  81. <artifactId>spring-boot-starter-jdbc</artifactId>
  82. </dependency>
  83.  
  84. <dependency>
  85. <groupId>javax</groupId>
  86. <artifactId>javaee-api</artifactId>
  87. <version>7.0</version>
  88. </dependency>
  89. <dependency>
  90. <groupId>org.apache.shiro</groupId>
  91. <artifactId>shiro-spring</artifactId>
  92. <version>1.2.3</version>
  93. </dependency>
  94. <dependency>
  95. <groupId>org.apache.shiro</groupId>
  96. <artifactId>shiro-cas</artifactId>
  97. <version>1.2.3</version>
  98. </dependency>
  99. <dependency>
  100. <groupId>org.apache.shiro</groupId>
  101. <artifactId>shiro-ehcache</artifactId>
  102. <version>1.2.3</version>
  103. </dependency>
  104. <dependency>
  105. <groupId>org.springframework</groupId>
  106. <artifactId>spring-jdbc</artifactId>
  107. </dependency>
  108. <dependency>
  109. <groupId>org.apache.shiro</groupId>
  110. <artifactId>shiro-core</artifactId>
  111. <version>1.2.3</version>
  112. </dependency>
  113. <dependency>
  114. <groupId>org.apache.shiro</groupId>
  115. <artifactId>shiro-web</artifactId>
  116. <version>1.2.3</version>
  117. </dependency>
  118. <dependency>
  119. <groupId>org.jasig.cas.client</groupId>
  120. <artifactId>cas-client-core</artifactId>
  121. <version>3.4.1</version>
  122. </dependency>
  123.  
  124. <!-- 模板引擎 暂时不用 -->
  125. <!-- <dependency>
  126. <groupId>org.springframework.boot</groupId>
  127. <artifactId>spring-boot-starter-thymeleaf</artifactId>
  128. </dependency> -->
  129. <!--
  130. devtools可以实现热部署。devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时机),注意:因为其采用的虚拟机机制,该项重启是很快的
  131. 如果设置SpringApplication.setRegisterShutdownHook(false),则自动重启将不起作用。
  132. 设置 spring.devtools.restart.enabled 属性为false,可以关闭该特性。
  133. -->
  134.  
  135. <dependency>
  136. <groupId>org.springframework.boot</groupId>
  137. <artifactId>spring-boot-devtools</artifactId>
  138. <optional>true</optional>
  139. <!-- optional=true,依赖不会传递,-->
  140. </dependency>
  141.  
  142. </dependencies>
  143.  
  144. <!-- Package as an executable jar -->
  145. <build>
  146. <defaultGoal>compile</defaultGoal>
  147. <plugins>
  148. <plugin>
  149. <groupId>org.springframework.boot</groupId>
  150. <artifactId>spring-boot-maven-plugin</artifactId>
  151. <configuration>
  152. <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments>
  153. <fork>true</fork><!-- 如果没有该项配置,可能devtools不会起作用 -->
  154. </configuration>
  155. </plugin>
  156.  
  157. </plugins>
  158. </build>
  159.  
  160. <!-- Add Spring repositories -->
  161. <!-- (you don't need this if you are using a .RELEASE version) -->
  162. <!--
  163. <repositories>
  164. <repository>
  165. <id>spring-snapshots</id>
  166. <url>http://repo.spring.io/snapshot</url>
  167. <snapshots><enabled>true</enabled></snapshots>
  168. </repository>
  169. <repository>
  170. <id>spring-milestones</id>
  171. <url>http://repo.spring.io/milestone</url>
  172. </repository>
  173. </repositories>
  174. <pluginRepositories>
  175. <pluginRepository>
  176. <id>spring-snapshots</id>
  177. <url>http://repo.spring.io/snapshot</url>
  178. </pluginRepository>
  179. <pluginRepository>
  180. <id>spring-milestones</id>
  181. <url>http://repo.spring.io/milestone</url>
  182. </pluginRepository>
  183. </pluginRepositories>
  184. -->
  185.  
  186. </project>

pom.xml

  1、工程--右键选择运行配置:

   在Goals中输入:org.apache.maven.plugins:maven-jar-plugin:2.4:jar org.springframework.boot:spring-boot-maven-plugin:1.0.1.RELEASE:repackage

   

  2、编译打包:工程-->Run As--> Maven build (编译)---  Maven install(打包)

  3、获取jar包:在工程下的target文件夹下找到打包的jar文件;

  4、部署:springboot工程打包jar部署只需要jre坏境即可:

   文件结构如下:满足linux与windows机器部署需要,使用不同的jre

   

    文件说明:

        dev:部署的工程.jar所在文件夹;

        jre7: windows下的jre环境

        jer7-linux:linux下的jre环境

        application.properties: 主要配置文件

        pm-logback.xml :日志配置文件

        startup.bat:Windows启动命令;

  1. set dir=%CD%
  2. set JRE_HOME=%dir%\jre7
  3. %dir%\jre7\bin\java -jar %dir%\dev\pm.jar

        startup.sh :Linux启动命令:

  1. CUR_PATH=$(cd "$(dirname "$0")"; pwd)
  2. echo "Current path: ${CUR_PATH}"
  3. ${CUR_PATH}/jre7-linux/bin/java -jar ${CUR_PATH}/dev/pm.jar

    5、启动是按照情况点击startup

二、打包成war并部署:

    官网的说明:http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#build-tool-plugins-maven-packaging

    好像不起作用,待研究!  

    又试了一下,完全按照官网是来是可以的! 

  1、工程--pom.xml-->右键Run Config...  Goals输入package

  

  2、如果正常的话,可以在工程-target文件夹下找到打包好的war;

  3、部署:需要jre和tomcat,结构如下:

    

    war包放入tomcat文件夹中的webapps文件夹下;

    startup.bat:

  1. set dir=%CD%
  2. set JRE_HOME=%dir%\jre7
  3. set JAVA_OPTS=-Dpm.home=%CD% -Dapp.home=%CD%
  4. cd %dir%\apache-tomcat-\bin
  5. startup

  startup.sh:所部署的机器必须有jre_home

  1. CUR_PATH=$(cd "$(dirname "$")"; pwd)
  2. echo "Current path: ${CUR_PATH}"
  3.  
  4. cd ${CUR_PATH}/apache-tomcat-/bin
  5.  
  6. export JAVA_OPTS="-Dpm.home=${CUR_PATH}"
  7.  
  8. ./startup.sh start
  9.  
  10. cd ${CUR_PATH}

  4、启动,输入...../pm/

------------------------------

  关于配置文件放到外部的情况,正在研究......     

    

打包SpringBoot工程并部署的更多相关文章

  1. SpringBoot工程+热部署进行远程调试

    本文转载自:https://blog.csdn.net/qq_31868349/article/details/78553901 SpringBoot工程+热部署进行远程调试 本地端添加配置 在pom ...

  2. SpringBoot工程热部署

    SpringBoot工程热部署 1.在pom文件中添加热部署依赖 <!-- 热部署配置 --> <dependency> <groupId>org.springfr ...

  3. maven打包 springBoot 工程时,默认识别resources目录,习惯使用 resource 目录的需要手动指定静态资源目录

    最近项目开发,发现springBoot项目在使用maven打包时,我们静态资源文件都放在resource目录下面,大致如下: 在使用maven打包时,发现静态资源没有打进去.原来springBoot默 ...

  4. Docker安装Jenkins 从GitLab上拉取代码打包SpringBoot项目并部署到服务器

    1.  安装Jenkins 采用 Docker 方式安装 jenkins 首先,宿主机上需要安装java和maven,这里我的安装目录如下: 由于是docker安装,jenkins将来是在容器里面运行 ...

  5. 如何将springboot工程打包成war包并且启动

    将项目打成war包,放入tomcat 的webapps目录下面,启动tomcat,即 可访问. 1.pom.xml配置修改 <packaging>jar</packaging> ...

  6. IDEA中创建父子工程与maven打包Springboot聚合工程报错程序包不存在问题处理

    公司新项目需使用java技术栈,便使用IDEA搭建了一个多SpringBoot项目的聚合工程,因为初次使用,遇到了很多问题,maven打包时各种报错,在网上查了好多终于解决了,为巩固记忆,特作此记录. ...

  7. 使用 IDEA 配合 Dockerfile 部署 SpringBoot 工程

    准备 SpringBoot 工程 新建 SpringBoot 项目,默认的端口是 8080 ,新建 Controller 和 Mapping @RestController public class ...

  8. Spring Boot 打war包并利用docBase指定根目录为打包的工程

    指定根目录有两种方式 1:直接将打的war包名称定义为ROOT 2:利用docBase 比如笔者war包名为xibu.war,将该war包丢到/Users/archerlj/Library/apach ...

  9. springboot工程的结构

    1 springboot的工程结构是什么 就是我们组织springboot工程时遵循的代码的目录结构. 2 spring initializr创建的工程的目录结构 源码目录:src/main/java ...

随机推荐

  1. 从零开始学 Java - Spring 集成 Memcached 缓存配置(二)

    Memcached 客户端选择 上一篇文章 从零开始学 Java - Spring 集成 Memcached 缓存配置(一)中我们讲到这篇要谈客户端的选择,在 Java 中一般常用的有三个: Memc ...

  2. git 版本回退

    由于操作失误,需要将代码进行版本回退,首先在本地仓库执行了“git reset --hard HEAD^”命令,这样只会回退本地仓库的代码,但是我的代码之前已经push到了远程库中,查看远程仓库,发现 ...

  3. shell脚本规划化模板

    shell脚本规划化模板 Linux运维过程中,shell脚本是不可缺少的工具,但是每个运维人员编程的习惯都不一样,很多时候就是实现某个功能,写出来的脚本都是烂七八糟的.脚本必须规范化,应该从以后几个 ...

  4. WebUtils-网络请求工具类

    网络请求工具类,大幅代码借鉴aplipay. using System; using System.Collections.Generic; using System.IO; using System ...

  5. JDBC——Java代码与数据库链接的桥梁

    常用数据库的驱动程序及JDBC URL: Oracle数据库: 驱动程序包名:ojdbc14.jar 驱动类的名字:oracle.jdbc.driver.OracleDriver JDBC URL:j ...

  6. php简单实现socket通信

    socket通信的原理在这里就不说了,它的用途还是比较广泛的,我们可以使用socket来做一个API接口出来,也可以使用socket来实现两个程序之间的通信,我们来研究一下在php里面如何实现sock ...

  7. mysql中,sleep进程过多,如何解决?

    睡眠连接过多,会对mysql服务器造成什么影响? 严重消耗mysql服务器资源(主要是cpu, 内存),并可能导致mysql崩溃. 造成睡眠连接过多的原因? 1. 使用了太多持久连接(个人觉得,在高并 ...

  8. 使用jquery.qrcode生成二维码(转)

    jQuery 的 qrcode 插件就可以在浏览器端生成二维码图片. 这个插件的使用非常简单: 1.首先在页面中加入jquery库文件和qrcode插件. <script type=" ...

  9. 深入理解DOM节点类型第五篇——元素节点Element

    × 目录 [1]特征 [2]子节点 [3]特性操作[4]attributes 前面的话 元素节点Element非常常用,是DOM文档树的主要节点:元素节点是html标签元素的DOM化结果.元素节点主要 ...

  10. ubuntu自动执行

    一般先写个sh脚本文件---->要执行的语句写入sh文件----->chromd -x ???.sh增加权限即可 crontab -e * * * * * /home/???.sh */1 ...