2018/02/02 更新

mvnrepository.com已经提供了ms jdbc 的jar

URL: http://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc

pom.xml中引用

<!-- https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc -->
<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.2.2.jre8</version>
    <scope>test</scope>
</dependency>

==================================================================================================

0.spring boot工程需要访问mssql server 2016,在MS的官网上下载的 mssql-jdbc-6.2.2.jre8.jar.在eclipse中使用clean package打包,打包后的war中少mssql-jdbc-6.2.2.jre8.jar, google后,最终解决问题

(google了n多网页,在google的过程中有很多都是一样的, 或是解决不了问题的)

1.添加mssql-jdbc-6.2.2.jre8.jar到pom.xml.其中lib文件夹和src是同级目录,mssql-jdbc-6.2.2.jre8.jar放到lib文件夹中

<dependency>
    <groupId>com.microsoft</groupId>
    <artifactId>mssql-jdbc</artifactId>
    <version>6.2.2.jre8</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/mssql-jdbc-6.2.2.jre8.jar</systemPath>
</dependency>

2.修改pom.xml的<build></build>,其中红色字体部分是添加的.

使用了两个 <resource> </resource>,第一个是为了复制src/main/resources下的*.properties和static,templates两个文件夹及文件夹下的文件

第二个是为了把第三方的jar放到WEB-INF/lib文件夹下,我的工程里只有一个jar,如果有多个也会一起放到WEB-INF/lib文件夹下

这时在eclipse中使用maven的clean package打包就会生成正确的war包

<build>
        <finalName>XXX</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <targetPath>../classes/</targetPath>
                <includes>
                    <include>**/*.*</include>
                </includes>
            </resource>
            <resource>
                <directory>lib</directory>
                <targetPath>../与工程同名的文件夹/WEB-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
        </resources>
</build>

3.在google时看到有文章说spring boot官方推荐把第三方jar用命令放到maven的本地库或私服中,我为什么没有使用这种方式呢

原因有两个:

原因1: 当把源代码交付给最终客户时,客户不一定有私服,

原因2: 客户不愿意执行一长串的命令把第三方的jar放到本库.再说在团队一起开发时还要让大家都要把jar install到本地库中?肯定多数人都会觉得麻烦,

所以最后使用了上面的解决方法,把没有问题的工程放在SVN上大家checkout,直接写代码就OK

4.拿去,不谢

spring boot 使用第三方jar的方法的更多相关文章

  1. 一:优化Docker中的Spring Boot应用:单层镜像方法

    优化Docker中的Spring Boot应用:单层镜像方法 1.Docker关键概念 2.镜像层内容很重要 3.镜像层影响部署 4.Docker中的Spring Boot应用 5.单层方法 5.1 ...

  2. Spring Boot可执行Jar包运行原理

    目录 1. 打可执行Jar包 2. 可执行Jar包内部结构 3. JarLauncher 4. 简单总结 5. 远程调试 Spring Boot有一个很方便的功能就是可以将应用打成可执行的Jar.那么 ...

  3. 一些坑 Java 执行命令行命令 Spring Boot 打包为jar ResourceUtils.getFile 等出现的问题

    Java 执行命令行命令 这个没技术含量的东西耗费了我半个多小时 String command = ....; Process process = Runtime.getRuntime().exec( ...

  4. Spring Boot项目生成jar包,并在windows服务器中注册成服务,开机启动

    背景: 使用Spring Boot开发的Web项目,打包生成了一个jar包,希望能部署在Windows服务器中 尝试: 1.Spring Boot生成的jar包,可以直接用java -jar运行,但是 ...

  5. Spring Boot 直接用jar运行项目

    概述 在Spring Boot 开篇-创建和运行一文中,介绍了如何创建一个Sprint Boot项目并且运行起来.但是运行的方式是在IDEA中直接Run起来的.还有另一中方式可以可以把Spring B ...

  6. 关于spring boot打出的jar包在Linux中运行

    众所周知, spring boot打出的jar包可以通过 "java -jar xxx.jar"的方式来运行 但是在Linux中, 通过这个命令运行的话会占用该窗口, 当我们 Ct ...

  7. Spring Boot 打成的 jar 和普通的 jar 有什么区别 ?

    Spring Boot 打成的 jar 和普通的 jar 有什么区别 ? Spring Boot 打成的 jar Spring Boot的项目终止以jar包的形式进行打包,这种jar包可以通过可以通过 ...

  8. Gradle 如何打包 Spring Boot 可执行 JAR

    如何在 Gradle 中配置一个项目可以打包为 Spring Boot 可执行 Jar? 你首先需要添加到 org.springframework.boot 到插件中: 例如下面的代码: plugin ...

  9. spring boot开发,jar包一个一个来启动太麻烦了,写一个bat文件一键启动

    spring boot开发,jar包一个一个来启动太麻烦了,写一个bat文件一键启动 @echo offcd D:\workProject\bushustart cmd /c "title ...

随机推荐

  1. 基于fpga的vga学习(3)

    本次学习如何通过vga发送数字.文字.字母, 首先利用建模软件,将想要发送的数据通过数学建模转换,这里我用的软件是PCtoLCD,具体效果如下 这里可以看出,建模将数据装换成0和1,一个字母用16x8 ...

  2. jquery.ocupload上传文件到指定目录

    首先引入两个js <script type="text/javascript" src="${pageContext.request.contextPath }/r ...

  3. @ResponseBody 返回乱码 的解决办法

    1:最快的  最简单的办法是  在Ajax请求脸面指定头信息Accept属性,StringHttpMessageConverter默认iso-8859-1编码,但是会根据请求头信息指定的编码格式来转换 ...

  4. 00SQL表字段说明

    SELECT d.name 表名 , a.colorder 字段序号 , a.name 字段名 , ISNULL(g.[value], '') AS 字段说明 , ( CASE WHEN COLUMN ...

  5. [转] IPTables for KVM Host

    IPTables for KVM Host January 26, 2012 By Andrew Galdes Use the following IPTables rules “/etc/sysco ...

  6. Windows反复重启的可能的解决办法

    Windows反复重启,原因很多,下面提供两个可能的解决办法: 1. 查看BIOS中关于SATA的设置,一般只有两种PCIE和IDE,调整成另外一个试试: 2. 查看BIOS的启动模式,如果是UEFI ...

  7. vue单页应用前进刷新后退不刷新方案探讨

    引言 前端webapp应用为了追求类似于native模式的细致体验,总是在不断的在向native的体验靠拢:比如本文即将要说到的功能,native由于是多页应用,新页面可以启用一个的新的webview ...

  8. 笔记:安卓App消息处理机制

    内容简述 类似Binder机制,MessageQueue.Looper也有底层的C++实现,涉及文件管道和驱动等. 以下仅从Java层的Looper.Handler和MessageQueue等相关类型 ...

  9. Javascript高级编程学习笔记(41)—— DOM(7)DocumentFragment类型

    DocumentFragment类型 除开昨天我们了解的两种不常用的类型之外 今天我们要介绍的两种类型可以说使用频率不输于前面最常用的几种元素类型 首先就是DocumentFragment类型 有些小 ...

  10. OAuth2.0认证详解

    目录 什么是OAuth协议 OAuth2.0是为了解决什么问题? OAuth2.0成员和授权基本流程 OAuth2.0成员 OAuth2.0基本流程 什么是OAuth协议 OAuth 协议为用户资源的 ...