您好,您提出的这个问题
那么我们如何创建一个通用库文件夹,以便所有 Spring Boot 应用程序从一个位置共享相同的依赖项
在 pom.xml 中添加 maven-dependency-plugin,目标为 copy-dependencies,在此您可以设置公共库文件夹的输出目录
例子
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
现在您可以使用以下内容创建两个 jar,一个包含所有依赖项(命名为 appname-exec.jar),另一个仅包含类文件(appname.jar)
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<classifier>exec</classifier>
</configuration>
</plugin>
现在您可以将 jar 仅用于类文件 (appname.jar),因为 大小会小得多,因为它不包含依赖项。
为了使用 jar (appname.jar),需要配置最后一步,即添加作为公共位置 jar 的类路径条目,并在标签内添加主类名。
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>fully.qualified.MainClass</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
现在您可以根据项目结构将这三个放在构建部分下的 pom.xml 中。