idea的maven项目maven打包时打包指定的lib文件夹

时间:2025-02-15 07:32:29

今天在idea中打包maven项目,引用了外部的jar包,maven打包的时候外部的jar包没有打包进去,报找不到类和符号的解决方案

因为我有些依赖是放在项目lib文件夹中,那么打包的时候要连把它一起打包。

修改, 添加一下内容:

<build>
        <plugins>
            <plugin>
                <groupId></groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
 
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <compilerArguments>
                        <extdirs>lib</extdirs>
                    </compilerArguments>
                </configuration>
            </plugin>
        </plugins>
 
        <resources>
            <resource>
                <directory>lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
        </resources>
    </build>

注意这个的路径 <extdirs>lib</extdirs>,是相对于的路径来说的,如果lib在src的main路径下,那么路径就要修改为

<extdirs>src/main/lib</extdirs>

然后cmd切换到项目根路径执行打包命令:mvn clean package -=true

打包后的jar包结构可以看到lib文件夹被整个打包进去了。