Maven项目中导入本地jar包(解决找不到类的问题)_IDEA

项目中需要临时在maven中导入一个本地的jar,开始是在maven中这样配置的:

<dependency>
    <groupId>com.dtdream.dthink</groupId>
    <artifactId>uim-mock-sdk</artifactId>
    <version>1.1-SNAPSHOT</version>
    <scope>system</scope>
    <systemPath>D:/Driver/uim-mock-sdk-1.1-SNAPSHOT.jar</systemPath>
</dependency>

<dependency>
    <groupId>com.dtdream.dthink</groupId>
    <artifactId>uim-mock-utils</artifactId>
    <version>1.1-SNAPSHOT</version>
    <scope>system</scope>
    <systemPath>D:/Driver/uim-mock-utils-1.1-SNAPSHOT.jar</systemPath>
</dependency>

然后maven install jar,但是在编译过程中会一直报错ClassNotFound,找不到jar包中的某个类,此时在项目中打开dependencies可以看到是有这个类的,初步怀疑是没有把jar包打包到项目的war中

于是,直接将jar包放入项目中,项目目录下定义lib文件夹,将jar包放入该文件夹下。同时pom.xml文件这样配置:


<dependency>
    <groupId>com.dtdream.dthink</groupId>
    <artifactId>uim-mock-sdk</artifactId>
    <version>1.1-SNAPSHOT</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/uim-mock-sdk-1.1-SNAPSHOT.jar</systemPath>
</dependency>

<dependency>
    <groupId>com.dtdream.dthink</groupId>
    <artifactId>uim-mock-utils</artifactId>
    <version>1.1-SNAPSHOT</version>
    <scope>system</scope>
    <systemPath>${project.basedir}/lib/uim-mock-utils-1.1-SNAPSHOT.jar</systemPath>
</dependency>

在pom.xml的maven-war-plugin中配置如下:

<resource>

                <directory>${project.basedir}/lib</directory>
                <targetPath>WEB-INF/lib</targetPath>
                <filtering>false</filtering>
                <includes>
                    <include>*.jar</include>
                </includes>
</resource>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <failOnMissingWebXml>false</failOnMissingWebXml>
        <webResources>
            <resource>
                <directory>${project.build.directory}/xxxxxx/</directory>
            </resource>
            <resource>
                <directory>${project.basedir}/lib</directory>
                <targetPath>WEB-INF/lib</targetPath>
                <filtering>false</filtering>
                <includes>
                    <include>*.jar</include>
                </includes>
            </resource>
        </webResources>
        <warSourceExcludes>view/master/**</warSourceExcludes>
        <packagingExcludes>**/*.map</packagingExcludes>
    </configuration>
</plugin>

后若有其他缺少的jar,在pom中引入,重新mvn打包,然后编译运行,问题解决;


猜你喜欢

转载自blog.csdn.net/ydk888888/article/details/80986511