美文网首页
解决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