当前位置: 首页 > 知识库问答 >
问题:

使用java-jar运行Spring boot kafka应用程序时找不到truststore.jks

甘西岭
2023-03-14

我的应用程序可以在eclipse或gradlew bootRun中运行。但是当我通过gradlew buildapp.jar构建一个“胖”jar文件,然后通过java-jarapp.jar启动应用程序时,我收到以下错误:

错误 - 无法获取密钥库的修改时间: kafka_truststore.jks java.nio.file.NoSuchFile异常: kafka_truststore.jks

kafka_truststore。jks是在应用程序中定义的。这样的属性

kafka.truststore_location=src/main/resources/kafka_truststore.jks

它在kafka客户端配置类中使用,如下所示

@value("${kafka.truststore_location}")私有字符串truStorelocing;

props.put(“ssl.truststore.location”, trustStoreLocation);

有人知道如何解决这个问题吗?谢了。

共有1个答案

隗驰
2023-03-14

当您构建jar时,来自资源的所有文件通常都在项目根目录中打包。

因此,为了让trustore、jks工作,请更改您的应用程序。财产如下

kafka.truststore_location=classpath:kafka_truststore.jks

这将从IDE和当您独立运行fat jar时起作用。

 类似资料:
  • 例如。 这应该运行一个简单的hello world应用程序,摘自oracle文档。然而,当我‘运行’这个代码,没有窗口打开。取而代之的是打开一个名为“Java”的应用程序。看起来'java'只是一个位于'jdk1.8.0_25.jdk/contents/home/bin'中的'UNIX可执行文件‘。应用程序'java'绝对不显示任何东西,并且在没有强制退出的情况下无法关闭。 我在MacBook上运

  • 当我使用 在intelij运行期间,一切正常。 在jar的案例中,我尝试了: 等等。它们导致正确的路径,例如: > 文件:/D:/Projects/myProject/target/classes/static/assets/config/fileName(对于toExternalForm) /D: /Projects/myProject/target/classes/static/assets/

  • 我使用log4j2,但我的一些依赖项使用log4j。当我从一个可执行jar文件运行应用程序时,我只得到几行日志和以下消息: 但当我在IntelliJ内部运行应用程序时,它会按预期工作,不会产生任何警告和所有日志。 我用maven enforcer来禁止log4j。我还尝试添加依赖项,但将范围设置为“提供”。 我也用一个版本号而不是一个范围来完成上面的工作。当应用程序在IntelliJ中运行时,所有

  • 问题内容: 我在Java中遇到了一些问题。看看这个。 太酷了,对,但是如何回合: 哎呀?知道为什么第一个有效而不是第二个有效吗?我如何-jar我的scala? 预先谢谢你,兄弟。 问题答案: 如果定义-jar,则-classpath会被忽略: Java手册: -jar使用此选项时,JAR文件是所有用户类的源,而其他用户类路径设置将被忽略。 您可以在清单元数据中定义类路径依赖项。 启动应用程序的最简

  • 我是Android Studio的新手。我现在使用它是希望获得一些错误消息,以解释为什么我的APK不能在蓝色堆栈中运行。APK是在Unity中建造的。 在安装了Android Studio,一个手机模拟器等之后,我仍然无法运行apk。它说: 在堆栈溢出中已经有一个关于这个错误的帖子。但是,我的AndroidManifest.xml在我看来很好。我也尝试过‘无效缓存/重新启动’但没有效果。当我转到“

  • 问题内容: 我试过了。但是,由于我还很陌生,所以无法弄清问题。我已附上了几个屏幕截图,以查看我现在面临的问题。 问题答案: 缺少提供者并不重要,这仅意味着您没有任何提供者。 您有一个,但如果您将Jersey过滤器映射到上下文根(/),这是正确的说那里没有资源-根据屏幕截图,您只有一个资源,/emp从此开始,CRUD操作的子资源会更深路径。 编辑:第二眼,您在中。我认为这不应该基于您似乎试图将一个简