相关疑难解决方法(0)

_JAVA_OPTIONS JAVA_TOOL_OPTIONS和JAVA_OPTS之间的区别

我认为在_JAVA_OPTIONS和之间进行比较会很棒JAVA_TOOL_OPTIONS.我一直在寻找一个,但我找不到任何东西,所以我希望我们能在Stackoverflow上找到这方面的知识.

JAVA_OPTS包括完整性.它不是JVM的一部分,但在野外有很多问题.

我知道的:

到目前为止,我发现:

  • JAVA_OPTSJDK不使用它,而是由许多其他应用程序使用(请参阅此文章).
  • JAVA_TOOL_OPTIONS并且_JAVA_OPTIONS是将JVM参数指定为环境变量而不是命令行参数的方法.
    • 被至少javajavac
    • 他们有这个优先权:
      1. _JAVA_OPTIONS (覆盖其他人)
      2. 命令行参数
      3. JAVA_TOOL_OPTIONS (被其他人覆盖)

我想知道什么

  • 有没有官方文件比较JAVA_TOOL_OPTIONS_JAVA_OPTIONS
  • JAVA_TOOL_OPTIONS和之间是否存在任何其他差异_JAVA_OPTIONS(优先级除外).
  • 其中的可执行文件回暖JAVA_TOOL_OPTIONS_JAVA_OPTIONS(除了javajavac)
  • 什么可以被包含在任何限制JAVA_TOOL_OPTIONS_JAVA_OPTIONS

官方文件

我找不到任何关于的文档_JAVA_OPTIONS.该文件JAVA_TOOL_OPTIONS没有说明差异:

由于无法始终访问或修改命令行,例如在嵌入式VM中或仅在脚本内深入启动的VM,因此提供了JAVA_TOOL_OPTIONS变量,以便在这些情况下可以启动代理.
...

示例脚本

这是我用来解决这个问题的代码.控制台输出包含在注释中:

export JAVA_OPTS=foobar
export JAVA_TOOL_OPTIONS= 
export _JAVA_OPTIONS="-Xmx512m -Xms64m"

java -version                          
# Picked up JAVA_TOOL_OPTIONS: 
# Picked up _JAVA_OPTIONS: -Xmx512m -Xms64m
# …
Run Code Online (Sandbox Code Playgroud)

java jvm jvm-arguments

120
推荐指数
3
解决办法
6万
查看次数

如何通过gradle任务使用spring profile运行bootRun

我正在尝试设置gradle来启动bootRun启用各种弹簧配置文件的过程.

我目前的bootRun配置如下:

bootRun {
    // pass command line options from gradle to bootRun
    // usage: gradlew bootRun "-Dspring.profiles.active=local,protractor"
    if (System.properties.containsKey('spring.profiles.active')) {
        systemProperty "spring.profiles.active", System.properties['spring.profiles.active']
    }
}
Run Code Online (Sandbox Code Playgroud)

我想用gradle任务设置系统属性,然后执行bootRun.

我的尝试看起来像这样:

task bootRunDev

bootRunDev  {
    System.setProperty("spring.profiles.active", "Dev")
}
Run Code Online (Sandbox Code Playgroud)

几个问题:

  1. systemPropertyspring boot bootRun配置的一部分?
  2. 是否可以在另一个任务中设置系统属性?
  3. 我的下一步应该是什么?我需要让bootRunDev配置发生之前bootRun
  4. 我应该研究另一种方法吗?

-Eric

java spring gradle

37
推荐指数
10
解决办法
5万
查看次数

如何创建将使用特定配置文件执行bootRun的gradle任务?

我本质上想要在gradle中创建一个执行命令的任务

gradle bootRun -Dspring.profiles.active=test
Run Code Online (Sandbox Code Playgroud)

如果从命令行执行,这个命令正是我想要它做的,但是我没有运气试图使用类型:Exec在任务上也没有运气传递给系统属性

我真的不想把它变成一个用户需要知道运行的外部命令.我希望它出现在任务/其他任务之下.

我迄今为止最接近的尝试:

task bootRunTest() {
    executable "gradle"
    args "-Dspring.profiles.active=test bootRun"
 }
Run Code Online (Sandbox Code Playgroud)

spring gradle spring-boot

8
推荐指数
1
解决办法
5050
查看次数

标签 统计

gradle ×2

java ×2

spring ×2

jvm ×1

jvm-arguments ×1

spring-boot ×1