Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to deal with missing src/test/java source folder in Android/Maven project?

I'm not very experienced with Maven in combination with Android yet, so I followed these instructions to make a new Android project. When the project has been created, I get the following error message:

Project 'xxx-1.0-SNAPSHOT' is missing required source folder: 'src/test/java'

When I try to add a new source folder with New->Other->Java-Source Folder with src/test/java, I get another error message:

The folder is already a source folder.

But I don't have any src/test/java folder in my project. How should I deal with that? What's the clean way to setup the project, because I assume that there is something missing in this instruction. So what is the Maven way to let src/test/java appear?

I'm using Eclipse Juno, m2e 1.1.0, Android Configuration for m2e 0.4.2.

like image 780
Bevor Avatar asked Aug 15 '12 19:08

Bevor


People also ask

Is missing required source folder test?

Right-Click Project --> Build Path --> Configure Build Path; unselect the SRC, save, select again. This solved my problem. Show activity on this post. Go to the Build Path dialog ( right-click project > Build Path > Configure Build Path ) and make sure you have the correct source folder listed, and make sure it exists.

What is src test java in Maven?

src/main/java places your code that use for real production. src/test/java places your test use case code, like junit test. These codes would be executed when doing maven package things. These codes won't be packaged to your war or jar file.

What is src folder in java project?

Describes the Java™ source tree. When you create an API project, it is set up as a Java project with separate folders for source and class files. The source folder is named src .


1 Answers

I realise this annoying thing too since latest m2e-android plugin upgrade (version 0.4.2), it happens in both new project creation and existing project import (if you don't use src/test/java).

It looks like m2e-android (or perhaps m2e) now always trying to add src/test/java as a source folder, regardless of whether it is actually existed in your project directory, in the .classpath file:

<classpathentry kind="src" output="bin/classes" path="src/test/java">   <attributes>     <attribute name="maven.pomderived" value="true"/>   </attributes> </classpathentry> 

As it is already added in the project metadata file, so if you trying to add the source folder via Eclipse, Eclipse will complain that the classpathentry is already exist:

enter image description here

There are several ways to fix it, the easiest is manually create src/test/java directory in the file system, then refresh your project by press F5 and run Maven -> Update Project (Right click project, choose Maven -> Update Project...), this should fix the missing required source folder: 'src/test/java' error.

like image 63
yorkw Avatar answered Sep 19 '22 14:09

yorkw