복붙노트

[SPRING] Spring Boot Maven - 네이티브 라이브러리 포함

SPRING

Spring Boot Maven - 네이티브 라이브러리 포함

내 프로젝트에서 일부 기본 라이브러리가 필요한 Sigar 라이브러리를 사용하고 있습니다. 나는 모든 파일 (.ddl, .so 등 - 플랫폼에 따라 다름)을 JAR 내부에 포함하거나, JAR 파일이 실행될 디렉토리와 동일한 디렉토리에 포함하고자한다.

Sigar는 java.library 경로에서 해당 라이브러리를 검색하지만 시스템 PATH에 모든 라이브러리를 포함 할 수 없습니다 (일부 응용 프로그램은 내 응용 프로그램에서 실행되며 PATH를 만질 수는 없습니다).

이렇게하기 위해서, 나는이 pom.xml에 단계를 만들었다.

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
                <forkMode>once</forkMode>
                <workingDirectory>target</workingDirectory>
                <argLine>-Djava.library.path=${baseDir}/src/main/resources/lib</argLine>
            </configuration>
        </plugin>
    </plugins>
</build>

내가 spring-boot-maven-plugin에 포함 된 팩 목표를 실행하고 jar (java -jar myJar.jar)를 실행하면 다음 오류가 발생합니다.

누군가이 JAR 파일을 어떻게 만들 수 있는지 말해 줄 수 있습니까? Spring Boot Starter 프로젝트에 포함되어 있기 때문에 나는 spring-boot-maven-plugin을 사용했다.

해결법

    from https://stackoverflow.com/questions/37663328/spring-boot-maven-include-native-library by cc-by-sa and MIT license