Maven项目使用SystemPath引用jar包报错:ClassNotFind

最近在做给word、ppt等加水印的一个需求,由于项目环境问题不能正常加载maven依赖,所以选择使用<systemPath>引入jar包,如下:

pom中配置:

<!--免费版spire,用于加水印-->
        <dependency>
            <groupId>e-iceblue</groupId>
            <artifactId>spire.doc.free</artifactId>
            <version>3.9.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/spire.doc.free-3.9.0.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>e-iceblue</groupId>
            <artifactId>spire.presentation.free</artifactId>
            <version>3.9.0</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/spire.presentation.free-3.9.0.jar</systemPath>
        </dependency>

注:groupId、artifactId、version随意填写,systemPath指定jar包在本项目中的路径

但是遇到一个问题,在打包自己引入的jar包。

错误:

在运行时报错classNotFind.

修正:在pom中添加如下配置:

<plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <!--以下配置用于,在打包时添加自己引入的jar包(includeSystemScope)*不可删除-->
                <configuration>
                    <fork>true</fork>
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>

添加如上配置后,即可正常打包!

经验分享 程序员 微信小程序 职场和发展