1. 程式人生 > >Maven專案中匯入本地jar包(解決找不到類的問題)_IDEA

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打包,然後編譯執行,問題解決;