HKEY_CURRENT_USER\Software\Microsoft\Command Processor\Autorun が存在すると、Java テストが失敗します。これをテストするための Github リポジトリ: https://github.com/ajorpheus/final-frontier
これは、これが起こった後のフォローアップの質問です。
概要 : どうやら、cmd プロンプトが開かれるたびにコマンドを実行できるようにするレジストリ ハックが、Java プロセスに悪影響を及ぼすようです。
そもそも、「mvn clean test」が実際には「mvn.bat clean test」に解決されてしまうのではないかと思いました。ただし、mvn.batファイルに含まれるjava.exeコマンドを抽出して、それを直接使用しようとしましたが、同じ問題が発生しました。
なぜこれが起こっているのかについて何か考えはありますか?
アップデート
Autorun エントリの値は次のとおりです。cd /d "c:\dev"
エラーメッセージは次のとおりです。
java.lang.RuntimeException: Error writing to file: some-dir/target/generated-resources/stuff.xmlwith the following error: Couldn't create dir: some-dir\target\generated-resources at com.test.build.TestFileCreation.createDirectoryTest
Update2
@NilsH が示唆したように、両方のケースで現在の作業ディレクトリが同じであることを確認しました。
Update3
maven-surefire-plugin の forkMode を never に設定する maven プロファイルを追加しました。このプロファイルにより、レジストリ ハックがあるかどうかに関係なく、テストに合格します。