【问题标题】:Reflections not finding classes on docker container/jar反射未在 docker 容器/jar 上找到类
【发布时间】:2022-01-13 14:49:09
【问题描述】:

在 docker 容器中运行我的应用程序或使用 jar 文件时,我遇到了一些愚蠢的问题。 当应用程序在本地启动使用反射的迁移库时:

new Reflections("package").getTypesAnnotatedWith(SomeClass.class)

能够找到带有此注释的类。 但是当它在 docker 容器内或从 *.jar 文件中执行时 - 反射没有找到任何类。 使用的jar文件是maven构建的。

更新: 如果我们将包装更改为战争 - 一切都可以正常工作。但最好只有 jar 文件。

【问题讨论】:

  • 当您谈论 JAR 时,您是在谈论单个 fat/Uber JAR 吗?或者你有一个包含大量 JAR 的目录?还是单个非 Uber JAR?
  • spring-boot-maven-plugin生成的单个jar

标签: java spring-boot docker jar reflections


【解决方案1】:

看起来它与版本 0.10.2 上的反射有关 我不知道 *.war 和 *jar 之间的区别以及为什么它只能在 *.war 上正常工作

有人知道区别吗?

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2020-02-05
  • 1970-01-01
  • 2013-06-10
  • 1970-01-01
  • 2014-04-14
  • 1970-01-01
  • 1970-01-01
  • 2020-09-11
  • 2019-11-16
相关资源
最近更新 更多