Spring boot 如何在spring引导war文件中打包根级别的文件夹
我有一个应用程序,它有很多JNI文件(.so、.dll),我把它们保存在Spring boot 如何在spring引导war文件中打包根级别的文件夹,spring-boot,maven,Spring Boot,Maven,我有一个应用程序,它有很多JNI文件(.so、.dll),我把它们保存在src/main/resources/JNI文件夹中。我想以这样一种方式打包我的war,这样jni文件夹就可以打包在根目录上,这样我就可以在war文件爆炸时访问它们,并将它们作为java.libarary.path传递。SpringBootMaven插件将所有内容打包到WEB-INF文件夹中。如何将其打包,使其位于不同的文件夹中 我的pom文件有以下插件: <plugin>
src/main/resources/JNI
文件夹中。我想以这样一种方式打包我的war,这样jni文件夹就可以打包在根目录上,这样我就可以在war文件爆炸时访问它们,并将它们作为java.libarary.path
传递。SpringBootMaven插件将所有内容打包到WEB-INF文件夹中。如何将其打包,使其位于不同的文件夹中
我的pom文件有以下插件:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>generate-resources</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<includeArtifactIds>jni-dep</includeArtifactIds>
<includes>bin/**,lib/**</includes>
<outputDirectory>${project.build.directory}/libs</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>true</overWriteSnapshots>
</configuration>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
maven依赖插件
解包依赖项
产生资源
解包依赖项
jni部门
bin/**,lib/**
${project.build.directory}/libs
假的
真的
和资源插件,以便从资源目录复制更多
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
<executions>
<execution>
<id>copy-resource</id>
<phase>install</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/libs/gcc-4.9.2</outputDirectory>
<resources>
<resource>
<directory>${basedir}/src/main/resources/gcc-4.9.2</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
org.apache.maven.plugins
maven资源插件
3.1.0
复制资源
安装
复制资源
${project.build.directory}/libs/gcc-4.9.2
${basedir}/src/main/resources/gcc-4.9.2
真的
最后是用于重新打包的spring boot maven插件
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<folders>${project.build.directory}/libs</folders>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
org.springframework.boot
springbootmaven插件
${project.build.directory}/libs
重新包装
我仍然没有看到战争中的/libs
文件夹,尽管它位于/target