【问题标题】:How to run a spring-boot jar with external jars which compile with maven dependency system?如何使用使用 maven 依赖系统编译的外部 jar 运行 spring-boot jar?
【发布时间】:2018-05-08 16:18:05
【问题描述】:

第 3 方 jar 不在 repo 中,可能会不时更新。

我在maven中使用依赖作为

    <dependency>
        <scope>system</scope>
        <systemPath>$path/$name.jar</systemPath>
   </dependency>

编译,jar 不在我希望的包中。

当spring-boot jar部署在目标机器上时,如何运行呢?

【问题讨论】:

  • 开始使用存储库管理器并避免系统范围依赖。除此之外,如果我没记错的话,spring boot maven 插件会考虑到它们吗?
  • 在这种情况下使用 repo 不是一个选项,因为它在已部署的机器上具有固定路径并且不在 repo 中管理
  • 您的 systemPath 是您运行应用程序的生产机器上的路径(不是构建服务器上的路径)?
  • systemPath 是构建机器上的路径。不幸的是,路径与目标机器不同
  • 据我所知,&lt;dependency&gt; 条目纯粹用于构建工件。运行时类路径是完全不同的东西。您不能期望您的应用程序在运行时从 pom 中“查找”系统路径。

标签: java maven spring-boot


【解决方案1】:

有关将路径中的 jar 包含到 Spring 引导类路径中,请参阅

External library folder for Spring Boot.

这意味着您可以通过 repo 安全地管理 pom 中的依赖项(避免 sytemPath 依赖项)。

【讨论】:

    猜你喜欢
    • 2012-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-12
    • 2014-07-12
    • 1970-01-01
    • 2023-03-27
    • 2017-02-22
    相关资源
    最近更新 更多