오류: jarfile xxx.jar에 액세스할 수 없습니다.

오류: jarfile xxx.jar에 액세스할 수 없습니다.

오늘 동료에게 이 예외가 발생했습니다. 그런데 SpringBoot 프로젝트 설치는 xxx.jar 패키지를 가져오기 위해 컴파일됩니다. 가상 머신 서버의 시작 스크립트를 통해 시작 시 예외가 발생합니다: 오류: jarfile xxx에 액세스할 수 없습니다 . .jar , 어떻게 해결합니까?

예외 정보:


[pepp@Memcache_HA_TEST xxl_job_management]$
[pepp@Memcache_HA_TEST xxl_job_management]$ /u01/app/jdk1.8/bin/java -jar xxl_job_management-1.0.0-RELEASE.2022111714113443.jar
Error: Unable to access jarfile xxl_job_management-1.0.0-RELEASE.2022111714113443.jar
[pepp@Memcache_HA_TEST xxl_job_management]$
[pepp@Memcache_HA_TEST xxl_job_management]$

그림:
여기에 이미지 설명 삽입

솔루션:
여기에 이미지 설명 삽입
pom.xml 파일에 종속성 추가

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <version>2.3.2.RELEASE</version>
        </plugin>
    </plugins>
</build>

이유:
SpringBoot 프로젝트에서 프레임워크는 spring-boot-maven-plugin 플러그인을 통해 구현되는 자체 패키징 메커니즘을 제공합니다. 새로운 JAR 패키지를 생성하기 위해 MAVEN의 라이프 사이클 패키지 이후에 다시 패키징할 수 있습니다. spring-boot-maven-plugin 플러그인은 SpringBoot 프로젝트를 FAT-JAR로 패키징합니다. 즉, 프로젝트를 시작하고 실행하는 데 필요한 모든 JAR을 포함합니다.
spring-boot-maven-plugin 플러그인으로 패키징된 jar 구조를 추가합니다.

여기에 이미지 설명 삽입

현재 jar 관련 파일이 2개 생성된 것을 확인할 수 있는데, 그 중 xxl_job_management-1.0.0-RELEASE.jar은 spring-boot-maven-plugin 플러그인을 리패키징 후 생성된 실행 가능한 jar 파일이다. java -jar xxl_job_management-1.0 .0-RELEASE.jar 명령이 시작됩니다. xxl_job_management-1.0.0-RELEASE.jar.original 이 패키지는 mvn 패키지에 의해 패키징된 원본 jar로 spring-boot-maven-plugin 플러그인 리패키지 명령이 실행되면 xxx.original로 이름이 변경된다. 다른 서비스의 참조가 될 수 있습니다.

추천

출처blog.csdn.net/jiuyuemo1/article/details/127903873