Springboot & Mybatis 构建restful 服务二

1 前置条件

  • 成功执行完Springboot & Mybatis 构建restful 服务一

2 restful service 打包问题

​ 要求打包成以下格式:

 
---tar
   
   ---jar      Service的源代码和 Pom.xml
   
   ---lib      Service的依赖jar包
   
   ---config   Service的配置文件
 

3 配置文件外置

1)修改 application.properties 文件

src/main/resources/application.properties

 
  #新增
  #配置Oracle数据库的驱动类
  spring.datasource.driverClass=oracle.jdbc.driver.OracleDriver
  #配置本地类路径的入口
  spring.classPathEntry.location=classpath:lib/ojdbc6-1.0.1.jar
 

2)修改generatorConfig.xml:

 
    <!-- 修改classPathEntry里 location和jdbcConnection的数据库连接,设置从资源文件中读取值 -->
    <classPathEntry  location="${spring.classPathEntry.location}" />  
    <jdbcConnection  driverClass="${spring.datasource.driverClass}"
                     connectionURL="${spring.datasource.url}"
                     userId="${spring.datasource.username}"                                                                   password="${spring.datasource.password}">
    </jdbcConnection>
 

3)修改 POM:

在build 里新增以下代码:用于打包时只打包后缀名为 .java的文件,忽略配置文件(src/main/resources)。并将该目录下所有的文件复制到${project.build.directory}/config

 
    <sourceDirectory>src/main/java</sourceDirectory>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>*.*</include>
                </includes>
                <filtering>true</filtering>
                <targetPath>${project.build.directory}/config</targetPath>
            </resource>
            <resource> 
                <directory>src/main/java</directory> 
                <excludes> 
                    <exclude>**/*.java</exclude> 
                </excludes> 
            </resource>  
        </resources>
 

添加maven-jar-plugin插件,指定主类和依赖 jar 所在位置

(此例中为:main/java/com/serena)

  
            <plugin>  
                <groupId>org.apache.maven.plugins</groupId>  
                <artifactId>maven-jar-plugin</artifactId>  
                <version>2.4</version>  
                <configuration>  
                    <archive>  
                        <manifest>  
                            <addClasspath>true</addClasspath>  
                            <classpathPrefix>lib/</classpathPrefix>
                            <mainClass>com.serena.App</mainClass>  
                        </manifest>  
                     </archive>  
                </configuration> 
             </plugin>  
 

添加maven-dependency-plugin插件,将所有依赖 jar 复制到${project.build.directory}/lib目录

 
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-dependencies</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <outputDirectory>
                                ${project.build.directory}/lib
                            </outputDirectory>
                        </configuration>
                    </execution>
                </executions>
            </plugin> 
 

添加maven-antrun-plugin插件,用于将生成的可运行的 jar ,配置文件,依赖 jar,启动脚本等打包成tar压缩包

 
    <plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>run</goal>
                </goals>
                <configuration>
                    <tasks>
                        <mkdir dir="${project.build.directory}/config" />
                        <mkdir dir="${project.build.directory}/lib" />
                        <mkdir dir="${project.build.directory}/bin" />
                        <mkdir dir="${project.build.directory}/log" />
                        <tar tarfile="${project.build.directory}/${project.build.finalName}.tar"
                                    basedir="${project.build.directory}"                                includes="*.xml,config/*,log,bin,bin/*,lib/*,startup.sh,shutdown.sh,${project.build.finalName}.jar" />
                    </tasks>
                </configuration>
            </execution>
         </executions>
    </plugin>
 

4.在终端输入如下测试指令

 
#cd 项目所在目录
cd /Users/psj/Documents/pro/xm/AccountBalance
mvn clean package
cd target
#将 tar 包复制到自己指定目录(/Users/psj/Desktop/t/)
cp AccountBalance-0.0.1-SNAPSHOT.tar /Users/psj/Desktop/t/
#cd 到上个操作指定的目录
cd /Users/psj/Desktop/t
#解压 tar 包
tar -xvf AccountBalance-0.0.1-SNAPSHOT.tar
#此时可查看目录结构如要求所示
ll
#运行 可执行jar,测试结果
java -jar AccountBalance-0.0.1-SNAPSHOT.jar
#
#打开新的iterm 窗口(command+n)
http localhost:8101/accounts
http localhost:8101/account/U00001
#
#返回上个 iterm 窗口,control+c 结束服务。
 

Springboot & Mybatis 构建restful 服务二的更多相关文章

  1. Springboot & Mybatis 构建restful 服务三

    Springboot & Mybatis 构建restful 服务三 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务二 2 restful ...

  2. Springboot & Mybatis 构建restful 服务五

    Springboot & Mybatis 构建restful 服务五 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务四 2 restful ...

  3. Springboot & Mybatis 构建restful 服务四

    Springboot & Mybatis 构建restful 服务四 1 前置条件 成功执行完Springboot & Mybatis 构建restful 服务三 2 restful ...

  4. Springboot & Mybatis 构建restful 服务

    Springboot & Mybatis 构建restful 服务一 1 前置条件 jdk测试:java -version maven测试:命令行之行mvn -v eclipse及maven插 ...

  5. 基于SpringBoot开发一个Restful服务,实现增删改查功能

    前言 在去年的时候,在各种渠道中略微的了解了SpringBoot,在开发web项目的时候是如何的方便.快捷.但是当时并没有认真的去学习下,毕竟感觉自己在Struts和SpringMVC都用得不太熟练. ...

  6. jersey+maven构建restful服务

    一.新建一个Maven Web项目 a) 新建一个简单的Maven项目 b) 将简单的Maven项目转成Web项目 (若没出现further configuration available--或里面的 ...

  7. 用Jersey构建RESTful服务7--Jersey+SQLServer+Hibernate4.3+Spring3.2

    一.整体说明 本例执行演示了用 Jersey 构建 RESTful 服务中.怎样集成 Spring3 二.环境 1.上文的项目RestDemo 2.Spring及其它相关的jar ,导入项目 三.配置 ...

  8. JAX-RS(基于Jersey) + Spring 4.x + MyBatis构建REST服务架构

    0. 大背景 众所周知,REST架构已经成为现代服务端的趋势. 很多公司,已经采用REST作为App, H5以及其它客户端的服务端架构. 1. 什么是JAX-RS? JAX-RS是JAVA EE6 引 ...

  9. SpringBoot 快速构建微服务体系 知识点总结

    可以通过http://start.spring.io/构建一个SpringBoot的脚手架项目 一.微服务 1.SpringBoot是一个可使用Java构建微服务的微框架. 2.微服务就是要倡导大家尽 ...

随机推荐

  1. Url的拦截问题

    如果 在中没有, 就会去找欢迎页,先找/index,jsp,在webapp里并没有,就继续往下找/index.html, 是图中的拦截形式,就会被servlet拦截,对应于controller中的请求 ...

  2. Swoft 图片上传与处理

    上传 在Swoft下通过 \Swoft\Http\Message\Server\Request -> getUploadedFiles()['image'] 方法可以获取到一个 Swoft\Ht ...

  3. thinkphp5.1明明密码的一致的 却说不一致的解决办法

    protected $rule = [       'password|密码'=>[                       'require',           'length:6,2 ...

  4. Django04-模板系统Template

    一.模板支持的语法 Django模板中只需要记两种特殊符号: {{ }}表示变量,在模板渲染的时候替换成值{% %}表示逻辑相关的操作. 二. 变量(使用双大括号来引用变量) 1.语法格式:{{var ...

  5. EL表达式与JSTL标签map遍历varStatus属性下标使用

    在JSP页面开发中,JSTL标签库迭代标签<c:forEach>为我们迭代遍历数组集合提供了一种选择. 遍历过程中varStatus属性为我们遍历集合提升了很大操作空间. 贴一下具体使用 ...

  6. (译)MySQL 8.0实验室---MySQL中的倒序索引(Descending Indexes)

    译者注:MySQL 8.0之前,不管是否指定索引建的排序方式,都会忽略创建索引时候指定的排序方式(语法上不会报错),最终都会创建为ASC方式的索引,在执行查询的时候,只存在forwarded(正向)方 ...

  7. Android studio使用android:style/Theme.Dialog报错:You need to use a Theme.AppCompat theme (or descendant) with this activity. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)

    查找原因是在activity java代码部分继承了compatactivity public class DialogActivity extends AppCompatActivity 但是在An ...

  8. Java框架spring Boot学习笔记(二):Hello Spring Boot、以及项目属性配置

    新建一个新建一个SpringBootTest工程 新建一个HelloController.java文件 package com.example.demo; import org.springframe ...

  9. js问题: is not a function

    今天遇到一个js问题,函数名和页面上的一个element的id重复了.第一次进入这个页面的时候可以点击触发事件,在第二次点击触发事件的时候就会报如下错误. js代码截图: 函数名和页面上的一个元素的i ...

  10. 2018-2019-2 20175218 实验二《Java面向对象程序设计》实验报告

    2018-2019-2 20175218 实验二<Java面向对象程序设计>实验报告 一.面向对象程序设计-1 1.实验要求 参考 http://www.cnblogs.com/roced ...