source

Spring Boot에서 추가 클래스 경로를 구성하는 방법

ittop 2023. 3. 28. 22:36
반응형

Spring Boot에서 추가 클래스 경로를 구성하는 방법

독립형 웹 애플리케이션을 만들고 싶습니다.Spring Boot에 문제가 있습니다.

제 어플리케이션은 Spring Boot의 jar 파일입니다.

하지만 내 어플리케이션은 보통 jdbc 드라이버 항아리가 필요했다.응용 프로그램용 jdbc 드라이버 jar를 제외하고 lib 폴더에서 라이브러리 jar를 읽습니다.

그러나 SpringBoot lib 폴더는BOOT-INF/libfinal static그래서 jdbc 드라이버 jar에 외부 클래스 패스(lib)를 추가하고 싶습니다.

Spring Boot에서 추가 클래스 경로를 설정하는 방법.이용 가능합니까?

를 사용할 수 있습니다.loader.path외부 lib 폴더 위치를 정의하는 파라미터입니다.이 폴더 아래의 모든 항이 클래스 경로에 추가됩니다.예를 들어 다음과 같이 정의하려면C:\extLib외부 lib 폴더로서 다음 작업을 수행할 수 있습니다.

java -Dloader.path=/C:/extLib/ -jar aapName.jar

이 작업을 수행하려면 Properties를 사용해야 합니다.런처여기에는 다음 두 가지 방법이 있습니다.

옵션 1

프로젝트 pom.xml을 업데이트하고 다음 태그를 추가합니다.

<configuration>  <!-- added -->
  <layout>ZIP</layout> <!-- to use PropertiesLauncher -->
</configuration

유효한 빌드 태그는 다음과 같습니다.

<build> 
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>  <!-- added -->
                <layout>ZIP</layout> <!-- to use PropertiesLauncher -->
            </configuration>
        </plugin>
    </plugins>
</build>

옵션 2

속성 사용명령줄에서 응용 프로그램을 시작할 때의 시작 프로그램:

java -cp aapName.jar -Dloader.path=/C:/extLib/ org.springframework.boot.loader.PropertiesLauncher

참고 자료:
jarlauncher를 사용하여 SpringBoot 클래스 경로에 jar를 추가하는 방법

스프링 부트에서는 다음 링크를 참조할 수 있습니다.

https://docs.spring.io/spring-boot/docs/current/reference/html/executable-jar.html#executable-jar-property-launcher-features

loader.path 속성을 사용하여 lib 폴더 위치를 정의할 수 있습니다.

제 경우 윈도 플랫폼에서 외부 lib 폴더를 찾으려면 " 인용"이 필요했습니다.

java -cp ScoreExtractionApp.jar -Dloader.path="lib" -Dloader.main=com.sample.score.ScoreExtraction.ScoreExtractionApplication org.springframework.boot.loader.PropertiesLauncher

maven jar 플러그인을 사용하여 maven에서 클래스 경로를 구성할 수 있습니다.

<plugin>
    <artifactId>maven-jar-plugin</artifactId>
      <configuration>
        <archive>
            <manifestEntries>
                <Class-Path>conf/</Class-Path>
            </manifestEntries>
       <manifest>
           <addClasspath>true</addClasspath>
           <classpathPrefix>lib/</classpathPrefix>
       </manifest>
    </archive>
   </configuration>
</plugin>

언급URL : https://stackoverflow.com/questions/40499548/how-to-configure-additional-classpath-in-springboot

반응형