問題タブ [azul-zulu]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
24 参照

java - Walkmod の Java ホームを変更するには?

私のPCではWalkmodが動作していますが、異なるJavaバージョンを実行するプロジェクトのsonarlint修正を行うには、Walkmod Java Homeを変更する必要があります

これにより、Walkmod で使用される Java ホームが表示されます

ただし、ここでコマンド $ の CMD では、Java walkmod --version1.7 で実行されている walkmod が提供されることに注意してください。$ java -version

このシステムに Java(Zulu) 1.7、1.8、および 11 をインストールしました。ただし、一部のプロジェクトでは、Zulu 11 で動作するように walkmod が必要です。Zulu 11 を使用するように、walkmod Java ホームを Zulu 11 ホーム ディレクトリに変更する方法。

0 投票する
1 に答える
137 参照

java - Windows zulu8を搭載した同じマシンでSimpleDateFormatを使用すると、同じロケールで異なる結果が得られます

SimpleDateFormat を処理する必要がありますが、年の値に問題があります

問題を絞り込むために、以下の簡単な Java コードを書いたところ、明らかに同じ設定で 2 つの異なる結果が返されることがわかりました (コマンド ラインで local を強制しただけです)。問題は Windows (US 構成) マシンのみです。Linux (CentOS) マシンで同じテストを実行すると、すべて問題ありません。

Windows 上の JVM は zulu8 1.8.0_282 openjdk ですが (ただし、Oracle 8 jdk と同じ動作をしているようです)、Linux 上の Red Hat 1.8.0_272 openjdk です。

ソースコードは次のとおりです。

そして、ここに結果があります(2番目のものは予想されるものです):

どちらも同じロケール設定を使用しているようですが、SimpleDateFormat は異なる週/年を返します。いくつかのロケール設定がありませんか?

ご協力ありがとうございました。

Oracle JDK で編集:

EDIT Calendar default Locale : Scratte が指摘したように、Calendar と SimpleDateFormat はデフォルトの Locale を使用します。SimpleDateFormat のソース コードを調べたところ、デフォルトの Local として使用されていましたが、コードで使用Locale.getDefault(Locale.Category.FORMAT)したものとは異なることが判明しましたLocale.getDefault()

両方のコード間で 2 つの異なる動作があった理由を最終的に理解しました。正しい Locale を表示しませんでした (3 つの異なる Locale を認識していませんでした。これを明確にしてくれて、Ole VV に感謝します)。

TL;DR

SimpleDateFormatを使用してLocale.getDefault(Locale.Category.FORMAT)おり、私の Java コードは の値を表示していLocale.getDefault()ました。後者は常にen_USでしたが、前者は使用したコマンドラインに応じてfr_FRorでした。en_USそのため、週/年に 2 つの異なる出力がありました。

最後に、JVM パラメータ-Duser.language= / -Duser.country= / -Duser.variant=が解決策です (これらは 3 つの異なるロケールすべてを強制します)。

この新しいコードは、3 つの異なるロケールの違いを示しています。

対応する出力: