将 Spring Boot 应用程序的库放在额外的 lib 目录中

Posted

技术标签:

【中文标题】将 Spring Boot 应用程序的库放在额外的 lib 目录中【英文标题】:Put libraries for spring boot application in extra lib dir 【发布时间】:2018-01-30 10:04:34 【问题描述】:

我目前正在将我的 Spring Boot 应用程序构建为一个胖罐。但是因为我也在从这些构建一个 docker 映像,所以每次我更改我的一些代码时,我都必须拉取包含所有依赖项的 jar。所以我的问题是:我将如何更改我的 gradle 文件以获取一个名为“buildWithExternalLibs”的任务,该任务在 lib 文件夹中具有所有依赖项,但只要 lib 文件夹就在旁边,仍然可以使用 java -jar ... 启动罐子?

【问题讨论】:

【参考方案1】:

我已经在 Maven 项目中完成了。您也可以在 gradle 中使用相同的逻辑。 当您进行全新安装时,它也会复制您的 jar 文件。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-install-plugin</artifactId>
  <executions>
    <execution>
     <phase>install</phase>
        <id>install-jar-lib</id>
         <goals>
            <goal>install-file</goal>
         </goals>
        <configuration>
          <groupId>com.***.*</groupId>
          <artifactId>abc-library</artifactId>
          <version>*.*.*</version>
          <packaging>jar</packaging>
          <file>$project.basedir/src/lib/***.jar</file>
       </configuration>
     </execution>
  </executions>
 <inherited>false</inherited>
</plugin>

【讨论】:

以上是关于将 Spring Boot 应用程序的库放在额外的 lib 目录中的主要内容,如果未能解决你的问题,请参考以下文章

我应该将jsp文件放在spring-boot项目中的位置

Spring Boot 中的库不匹配问题

我应该将我的 XML bean 放在 Spring Boot 应用程序中的啥位置?

spring-boot 速成 druid+mybatis 多数据源及读写分离的处理

Spring Boot配置文件放在jar外部

Spring Boot配置文件放在jar外部