9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JAVA_TOOL_OPTIONSの挙動確認メモ

Last updated at Posted at 2014-10-26

あるプルリクエストを出すつもりで細々と検証している際にやったことのメモ。

  • プルリクに載せるつもりのこと:JAVA_TOOL_OPTIONSを明示的に指定させたよ
  • 疑問点:実行時にJAVA_TOOL_OPTIONSがある場合は?

検証用コード(Macで作業)

Hello.java
public class Hello {
    public static void main(String[] args){
		System.out.println("こんにちは、世界");
    }
}

単体項目の上書き確認

$ echo $JAVA_TOOL_OPTIONS

$ java Hello
����ɂ��A���E

$ JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 java Hello
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
こんにちは、世界

$ export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8
-Dfile.encoding=UTF-8
$ java Hello
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
こんにちは、世界

$ JAVA_TOOL_OPTIONS=-Dfile.encoding=MS932 java Hello
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=MS932
����ɂ��A���E

$ JAVA_TOOL_OPTIONS="-Dfile.encoding=MS932 -Dfile.encoding=UTF-8" java Hello
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=MS932 -Dfile.encoding=UTF-8
こんにちは、世界

この挙動を追う限りでは、最悪でもJAVA_TOOLS_OPTIONSが事前に指定されていても、後ろに結合させれば予定通りの動きはしてそう

忘れてたので続き

envに複数項目されるので対応する確認

$ echo $JAVA_TOOL_OPTIONS
-Dfile.encoding=UTF-8 -agentlib:hprof
$ java Hello
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -agentlib:hprof
こんにちは、世界

Dumping Java heap ... allocation sites ... done.
$ JAVA_TOOL_OPTIONS="-Dfile.encoding=MS932" java Hello
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=MS932
����ɂ��A���E

$ JAVA_TOOL_OPTIONS="$JAVA_TOOL_OPTIONS -Dfile.encoding=MS932" java Hello
Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8 -agentlib:hprof -Dfile.encoding=MS932
����ɂ��A���E

Dumping Java heap ... allocation sites ... done.

ちゃんと引き継がないとダメだった。危ない

9
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?