相关疑难解决方法(0)

Java选项-Xmx代表什么?

java -Xmx1024m filename

什么-Xmx意思?

java

248
推荐指数
5
解决办法
62万
查看次数

如何通过代理使用Maven?

我想分享我通过代理使用maven的经验.

您很可能会遇到异常和消息,例如:

repository metadata for: 'org.apache.maven.plugins' could not be retrieved from 
repository: central due to an error: Error transferring file: Connection refused: connect

要么

[WARNING] Failed to retrieve plugin descriptor for org.apache.maven.plugins:maven-clean-
plugin:2.5: Plugin org.apache.maven.plugins:maven-clean-plugin:2.5 or one of its 
dependencies could not be resolved: Failed to read artifact descriptor for 
org.apache.maven.plugins:maven-clean-plugin:jar:2.5

如何配置Maven使用代理服务器?

proxy maven

120
推荐指数
12
解决办法
22万
查看次数

_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万
查看次数

如何通过环境变量设置Java的最小和最大堆大小?

如何通过环境变量设置Java的最小和最大堆大小?

我知道在启动java时可以设置堆大小,但我希望在服务器上通过环境变量进行调整.

java heap environment-variables

70
推荐指数
5
解决办法
18万
查看次数

通过环境变量在Spring Boot中设置日志级别

是否可以在Spring Boot应用程序中单独通过环境变量设置日志记录级别?

我不想使用,application.properties因为我在Cloud Foundry上运行并希望在没有部署的情况下获取更改(但在应用程序重新启动后,或者重新开始更精确).

我已经尝试设置env vars,LOGGING_LEVEL_ORG_SPRINGFRAMEWORK=TRACE但这没有效果.把logging.level.org.springframework: TRACEapplication.properties做的工作,虽然.

java spring spring-boot

48
推荐指数
7
解决办法
4万
查看次数

如何设置java系统属性,以便每当我启动JVM而不将其添加到命令行参数时它都有效

Java 1.7在从操作系统获取默认语言环境的方式上发生了变化.有一些方法可以恢复旧行为,例如在启动JVM实例时设置标志-Dsun.locale.formatasdefault = true.

我想永久设置这个标志,这样我每次启动JVM实例时都不必在命令行参数中指定它.是否有文件或任何其他可能更改JVM的默认设置?像Eclipse.ini文件,但JVM本身?

java jvm-arguments

36
推荐指数
1
解决办法
4万
查看次数

在Windows 7上,Java JVM如何设置"user.home"系统属性?

我正在使用JRE 1.7,我发现user.homeSystem属性非常不寻常.JVM如何设置此值?

java jvm windows-7

13
推荐指数
2
解决办法
3万
查看次数

使用Java 11时,JDK_JAVA_OPTIONS和JAVA_TOOL_OPTIONS有什么区别?

使用Java 11时,JDK_JAVA_OPTIONSJAVA_TOOL_OPTIONS之间的确切区别是什么?

它们似乎执行相同的操作,但是输出略有不同。这使我相信他们可能有不同的用例:

$ JDK_JAVA_OPTIONS="-Dstuff" java Foo
NOTE: Picked up JDK_JAVA_OPTIONS: -Dstuff

$ JDK_JAVA_OPTIONS="illegalStuff" java Foo
NOTE: Picked up JDK_JAVA_OPTIONS: illegalStuff
Error: Cannot specify main class in environment variable JDK_JAVA_OPTIONS

$ JAVA_TOOL_OPTIONS="-Dstuff" java Foo
Picked up JAVA_TOOL_OPTIONS: -Dstuff

$ JAVA_TOOL_OPTIONS="illegalStuff" java Foo
Picked up JAVA_TOOL_OPTIONS: illegalStuff
Unrecognized option: illegalStuff
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Run Code Online (Sandbox Code Playgroud)

我正在使用一个很小的测试程序:

public class Yo {
  public static final void main(String[] …
Run Code Online (Sandbox Code Playgroud)

java jvm jvm-arguments java-11

9
推荐指数
2
解决办法
1354
查看次数

java System.getenv环境名称以"="开头

我注意到Windows上的Java环境(通过System.getenv()调用获得)包含一些在真实环境中不存在的变量.这些以&equals-sign开头并包含"= ExitCode",它映射到在此java invokation之前运行的进程的退出代码; 以及各种驱动器号的默认目录,例如"= C:","= D:".在所有Windows版本上运行的所有Sun Java版本似乎都是这种情况.这是在任何地方记录的,还是纯粹仅供Sun内部使用?

编辑 这是一个简单的示例应用程序来显示我的意思.在命令行上编译并运行它:

import java.util.Map;
class ShowEnv {
    public static void main(String[] args) {
        for (Map.Entry v : System.getenv().entrySet())
            System.out.printf("%-23s= %.54s%n", v.getKey(), v.getValue());
    }
}
Run Code Online (Sandbox Code Playgroud)

然后将变量与SET命令(来自cmd.exe)或用C编写的类似命令行程序进行比较.您将发现以=开头的变量不存在于:

=ExitCode              = 00000000
=::                    = ::\
=C:                    = C:\Temp

这些变量显然是在执行JVM期间添加的.

java environment-variables

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

在Java 7中将sun.locale.formatasdefault设置为true

以下代码将有助于说明我的问题:

import java.util.Locale;
import java.text.*;

public class LocaleTest {
   public static void main(String[] args) {
      System.out.println(Locale.getDefault());
      System.out.println("java-version-" +System.getProperty("java.version"));
      System.setProperty("sun.locale.formatasdefault","true");
      System.out.println("prop:" +System.getProperty("sun.locale.formatasdefault"));
      System.out.println("getLocale-" +Locale.getDefault());
   }
}
Run Code Online (Sandbox Code Playgroud)

我们知道,在Java 7中,Locale.getDefault()中存在错误.但是,正如Oracle所建议的那样,我将系统属性"sun.locale.formatasdefault"设置为true.即使我现在正在获取我的m/c Locale,它仍然显示为en_US,即使我的m/c Locale设置为fr_BE.

以下是上述代码的输出,它是在Java 1.7.0_09上编译和运行的:

en_US
java-version-1.7.0_09
prop:true
getLocale-en_US

关于可能导致什么的任何想法?提前谢谢了.

java java-7

6
推荐指数
1
解决办法
1742
查看次数

无法识别的选项:--add-opens 与 _JAVA_OPTIONS 一起传递时

我正在尝试解决使用 Java 17 运行时运行 Nexus IQ 扫描仪的问题。

错误是

java.lang.reflect.InaccessibleObjectException:无法使受保护的最终 java.lang.Class java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain) 抛出 java.lang .ClassFormatError 可访问:模块 java.base 不会向未命名模块“打开 java.lang”@7225790e

所以我尝试将--add-opens java.base/java.lang=ALL-UNNAMED修复传递给运行的 JVM nexus-iq-cli.jar

不幸的是,我无法完全控制java -jar ...在 CI 上执行的命令,否则我只会--add-opens java.base/java.lang=ALL-UNNAMED显式地传递。由于该限制,我尝试使用其他一些方法来设置全局 JVM 参数设置。我想到的一种方法是使用_JAVA_OPTIONS环境变量。

令我惊讶的是 Java 因错误而退出:

无法识别的选项:--add-opens

当我尝试按如下方式传递时:

# with unix shell you can set value to some variable and execute something in one line
_JAVA_OPTIONS='--add-opens java.base/java.lang=ALL-UNNAMED' java
Run Code Online (Sandbox Code Playgroud)

另一方面,当我直接传递此选项时,Java 完全正常并且按预期运行:

java --add-opens java.base/java.lang=ALL-UNNAMED
Run Code Online (Sandbox Code Playgroud)

--add-opens java.base/java.lang=ALL-UNNAMED如果我无法直接控制java -jarCI 执行 Nexus IQ 扫描步骤的命令,我缺少什么以及传递参数的其他可能方法是什么?

java java-opts javaoptions

6
推荐指数
1
解决办法
5万
查看次数

如何在运行 Java 应用程序的弹性 beantalk 应用程序上启用 Java 调试?

运行弹性 beanstalk java 应用程序(不是 tomcat)时,如何启用远程调试?

AWS 文档 展示了如何通过指定启动 java 进程的命令为应用程序实现它。

但是如果我想单独部署相同的应用程序(例如一个开发和一个生产部署),并且只想为开发启用远程调试,这如何实现?

java debugging jvm amazon-elastic-beanstalk

4
推荐指数
1
解决办法
1438
查看次数