홈>
안녕하세요. 아래 구성으로 하나의 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'
}
}
내 자바 응용 프로그램을 독립적으로 실행할 때 다음과 같이 잘 실행됩니다. 다음 명령에서 구성을 사용하고 있습니다 :
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 파일을 어떻게 실행하고이 오류를 해결할 수 있습니까?
-
답변 # 1
관련 질문
- java - gradle 및 docker - docker 컨테이너 내에서 gradle 빌드를 실행하는 방법은 무엇입니까?
- java - eclipse 2020-12의 gradle 오류 - task : compilejava failed unrecognized option : -h
- java - Mac에서 Netbeans를 Microsoft SQL Server에 연결하는 방법
- java - Postgresql Docker 컨테이너 연결 실패
- java - Jib Gradle 플러그인 다중 모듈 프로젝트 ClassNotFoundException
- java - Gradle 45에서 junit5를 사용하는 방법
- java - Gradle이 종속성 충돌을 처리 할 때 가장 높은 것은 무엇을 의미합니까?
- java - 올인원 Gradle 프로젝트를 생성하는 방법은 무엇입니까?
- java - JitPackio는 라이브러리를 가져 오지 않습니다! 왜?
- java - Gradle 구성 파일이 SystemsetProperty로 알 수없는 속성을 가져옵니다
항아리 안에 포장되어 있지 않은 독립형으로 실행할 수없는 jms 종속성이 있다고 생각합니다.
병에 의존성을 담으려면 그림자 나 한 병 또는 자신의 솔루션을 수동으로 굴리는 것이 어렵지 않은 것을 사용할 수 있습니다.
또 다른 옵션은 애플리케이션 플러그인을 사용하여 zip 또는 tar를 포함하는 것입니다
<올>네 병
종속성 항아리
시작 스크립트