2017-01-11 15 views
0

Windows 10のmvn clean installコマンドですべてのテストをパスするSpringブートプロジェクトがある。同じデータベースに対する同じ正確なコードベースは、 Ubuntu 16.04でmvn clean installを実行してください。 mkdirs()関数を使用して、失敗したテストケース内のコードによって作成されていないディレクトリにこの問題をトレースしました。なぜ私がプロジェクトを所有しているのか分からないので、権限の問題ではないと思います。私はIntellij IDEAのGit機能を使ってリモートリポジトリからUbuntuにプロジェクトをクローンしました。他の多くのテストケース(何百ものもの)が合格していますが、いくつか失敗しており、すべてがこのmkdirs()の問題に関連しています。繰り返して言うと、この問題はUbuntu 16.04にのみ存在し、すべてのテストが成功するWindows 10では存在しません。さらに詳しい情報が必要な場合は、私が提供することを教えてください。MavenテストはWindows 10で成功するが、Ubuntuで失敗する16.04

コードを変更せずに解決する方法はありますか?

+0

Ubuntuには、Windowsと比べて非常に厳しい権限があります。 mkdirs()が実行されている親ディレクトリのパーミッションを調べることをお勧めします。 – vvs

+0

mkdirsをFiles.createDirectories()に置き換えます。 http://stackoverflow.com/a/12204054/3458 – Arkadiy

+0

@vvs drwxrwxr-xはパーマです。親にもそれは親でもあります。私は親に最後のトリプレットrwxを作ろうとしましたが、それは助けになりませんでした。 –

答えて

0

この問題は、コードベースの構成ファイルにルートディレクトリ設定が設定されていることがわかりました。そのルートディレクトリはWindowsプラットフォーム上で公開されていますが、Ubuntuでは制限されていました。私が書き込み権限を持っていたと知っているベースディレクトリを指すように設定ファイルの設定を変更することで、この問題が解決されました。