Test source folder 'src/test/java' in project 'プロジェクト' must have an output folder that is not also used for main sourcesとなった時の対応方法


  • 環境
    • CentOS Linux release 7.6.1810 (Core)
    • Eclipse Version: 2019-03 (4.11.0)

事象 : EclipseのプロジェクトでMavenのUpdate Project...をしたら怒られた

Test source folder 'src/test/java' in project 'プロジェクト' must have an output folder that is not also used for main sources

原因 : .classpath に設定されている pathのディレクトリがないから

最初はpath="src/test/java"のあるclasspathentryタグのoutputに書いてあるtarget/test-classesがないのが原因かと思ったが・・・
プロジェクトのプロパティを見ると赤バツのついていて「(missing)」となっているのがsrc/test/resourcesだったのでこのディレクトリがないことに気が付いた。
SVNからGitへ移行する時に空ディレクトリを漏らしてしまったようだ・・・

.classpath
...省略...
    <classpathentry kind="src" output="target/test-classes" path="src/test/java">
...省略...
    </classpathentry>
    <classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
...省略...
    </classpathentry>
...省略...

対応 : 必要なディレクトリを作成する

  1. 必要なディレクトリを作成する
  2. [Project] > [clean]
  3. 今一度MavenのUpdate Project...をする