gpt4 book ai didi

java - Jms 依赖关系未解决?

转载 作者:行者123 更新时间:2023-12-02 10:32:10 26 4
gpt4 key购买 nike

您好,我创建了一个 docker-compose.yml 文件,如下配置

version: '3'
services:
activemq:
image: webcenter/activemq:latest
ports:
- 8161:8161
- 61616:61616
- 61613:61613
environment:
ACTIVEMQ_NAME: amq
ACTIVEMQ_REMOVE_DEFAULT_ACCOUNT: 'True'
ACTIVEMQ_ADMIN_LOGIN: admin
ACTIVEMQ_ADMIN_PASSWORD: admin
volumes:
- /container_data/activemq/data:/data/activemq
- /container_data/activemq/log:/var/log/activemq

我的 gradle 配置如下:

task startDocker(type: Exec) {
if (Os.isFamily(Os.FAMILY_WINDOWS)) {
commandLine 'cmd', '/c', 'docker-compose', '-f', './docker-compose.yml', 'up', '-d'
} else {
commandLine 'docker-compose', '-f', './docker-compose.yml', 'up', '-d'
}
}

jar {
manifest {
attributes 'Implementation-Title': 'Gradle Jar File Example',
'Implementation-Version': version,
'Main-Class': 'com.jms.MyServer'
}
}

当我独立运行我的java应用程序时,它运行良好我正在使用以下命令的配置:

docker container inspect <container-id>

但是当我运行jar文件时,它无法找到jms

的类

以下是我使用 jar 运行时遇到的错误

Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: javax/jms/Destination
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)

我如何运行 jar 文件并解决此错误?

最佳答案

我猜你有 jms 依赖项,这些依赖项没有打包在你的 jar 中,所以它不能作为独立运行。

如果您想将依赖项打包到 jar 中,您可以使用类似 shadow 的内容。或one-jar或者手动推出自己的解决方案也不难。

另一个选项是使用application plugin创建包含

的 zip 或 tar
  1. 你的 jar
  2. 依赖 jar
  3. 启动脚本

关于java - Jms 依赖关系未解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53552371/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com