在我的项目中我正在使用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>
当我运行pack
目标(包含在spring-boot-maven-plugin
)然后我运行罐子(用java -jar myJar.jar
)我收到这个错误:
无法打开嵌套条目“lib/libsigar-amd64-freebsd-6.so”。它有
已压缩且嵌套的 jar 文件必须存储在没有
压缩。请检查用于创建可执行文件的机制
jar 文件
有人可以告诉我如何构建这个 JAR 吗?我刚刚使用了 spring-boot-maven-plugin,因为它包含在 Spring Boot Starter 项目中。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)