• spring boot 使用第三方jar的方法


    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.拿去,不谢

  • 相关阅读:
    CentOS安装系统时硬盘分区建议
    Linux下的gpt分区
    如何解决Win10账户没有了管理员权限
    redis数据的清空以及回滚
    禅道的作用以及安装
    Java数组的内存图
    Java中的内存划分
    进制
    Java数组
    Java方法的重载(Overload)
  • 原文地址:https://www.cnblogs.com/lost0/p/8277142.html
Copyright © 2020-2023  润新知