java - 追加到 java.library.path 中 `jvmArguments` 的某个路径

标签 java maven spring-boot pom.xml

我正在使用 spring-boot 和 maven。我设法覆盖 jvmArguments 标记中的 java.library.path 。但是,我想将路径附加到 java.library.path。我可以在 pom.xml 文件中执行此操作吗?

最佳答案

在生产中:在 pom 中编辑 spring-boot-maven-plugin ,添加 真的 -Djava.library.path=./libs 如果您有自动执行的 spring-boot,这会将参数添加到启动脚本中。显然,如果您在容器(例如 tomcat)内运行,则必须在那里编辑启动参数。

对于集成测试,请使用 maven-surefire-plugin,并在此处进行设置:

    <configuration>
      <environmentVariables>
        <LD_LIBRARY_PATH>${project.basedir}/libs</LD_LIBRARY_PATH>
      </environmentVariables>
      <systemPropertyVariables>
        <java.library.path>./libs</java.library.path>
      </systemPropertyVariables>
    </configuration>

取自http://maven.apache.org/surefire/maven-surefire-plugin/examples/system-properties.html

这里还设置了 LD_LIBRARY_PATH,以便可以加载 Linux 系统上的依赖库。如果您只有一个库,则不需要 <environmentVariables>部分。

顺便说一句:如果将 java.library.path 添加到 maven 命令行,这将不起作用,因为 Surefire 会启动自己的 jvm。

关于java - 追加到 java.library.path 中 `jvmArguments` 的某个路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42706326/

相关文章:

java - 为什么改造客户端在没有网络连接时会崩溃?

maven - 有没有办法在 Maven 中包含同一 Artifact 的两个版本?

java - Spring Boot JPA 存储库类的 Byte Buddy 运行时生成

java - 刷新超链接文本

java - 什么时候使用哈希表?

scala - 自定义Maven插件上的分类器等效

java - 项目正在运行并工作,但 pom.xml 显示错误

java - 在Spring boot pom.xml中指定java 1.8 JDK路径,而不将java_home设置为1.8版本

java - 在多阶段更新中进行回滚的最佳实践?

java - Long.reverse(long) 方法有什么用?