美文网首页
解决IDEA打包SpringBoot,jar包打包不出去问题

解决IDEA打包SpringBoot,jar包打包不出去问题

作者: Analyas | 来源:发表于2019-05-02 11:23 被阅读0次

    Idea打包SpringBoot无法导出libs目录下的jar包

    今天在idea打包SpringBoot项目时,发现导出的war部署到Tomcat出现找不到类的情况,what???关键是我idea直接运行的是没有问题的,怎么打个包就有问题了!!我就纳闷了,然后去看看webapps/{YourProject}/WEB-INF/lib目录下的jar包,发现没有包含这个类的jar包,这个jar是我手动导入的,在libs目录下,但是打包的时候没有一起打包出去!

    原因

    这是因为Iead打包时,会根据pom.xml的里的依赖,加载所需要的jar包,打包的时候,并不会加载libs里的文件

    解决办法

    你应该通过pom.xml导入的方法,来导入你的本地依赖,我这里以导入sqljdbc4.jar为例,先把jar包放入libs目录

    1.打开Idea右侧maven面板,执行maven命令!

    2. 执行maven命令生成本地依赖仓库

    • Working directory    --------->     libs目录所在的具体位置
    • Command line      --------->     要执行的命命令

    Command line输入

    deploy:deploy-file -Durl=file://D:/IDEAProject/${YourProject}/libs -Dfile=sqljdbc4.jar -DgroupId=ownrepo -DartifactId=sqljdbc4 -Dversion=1.0


    参数 说明
    -Durl 项目的libs路径, 可以是任何位置
    -Dfile 要导入的jar
    -DgroupId 可自定
    -DartifactId 可自定
    -Dversion 可自定

    执行完后,lib目录应该是这样的
    -libs
    -------sqljdbc4.jar
    -------ownrepo
    ---------------sqljdbc4
    ----------------------1.0

    3.pom.xml导入依赖

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.cn</groupId>
        <artifactId>medicinalDietShop</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>war</packaging>
    
        <repositories>
            <repository>
                <!--id和name自定,url指定libs目录-->
                <id>local_libs</id>
                <name>local_repo</name>
                <url>file:${project.basedir}/libs</url>
            </repository>
        </repositories>
            <!--导入依赖,这里都是执行命令的时候设置的,手动填-->
        <dependency>
            <groupId>ownrepo</groupId>
            <artifactId>sqljdbc4</artifactId>
            <version>1.0</version>
        </dependency>
    
        <dependency>...</dependency>
        <dependency>...</dependency>
        <dependency>...</dependency>
    </project>
    

    4.编译打包

    回到idea右侧maven面板



    执行
    LifeCycle ----- clean
    LifeCycle ----- install
    如果发现控制台执行结果不是0的话,你应该检查控制台信息,是否有出错的情况

    Process finished with exit code 0

    生成的war包可以在左侧的${YourProject} -> target 目录下看到war包


    相关文章

      网友评论

          本文标题:解决IDEA打包SpringBoot,jar包打包不出去问题

          本文链接:https://www.haomeiwen.com/subject/ojzgnqtx.html