Andrea Girardi - It's my blog!

Tag: maven

Cannot nest ‘PRJ/src/main/resource’ inside ‘PRJ/src’

I created a new Web application using Eclipse and, after Enabling Maven, I get this error updating the project:

Cannot nest 'PRJ/src/main/resource' inside 'PRJ/src'. To enable the nesting exclude 'main/' from 'PRJ/src'

Basically I removed the folder /src and create folder /src/main/java, /src/main/resources etc and this fight with the sourceDirectory tag in Build section of maven pom. To fix that, just remove this row and update the project:

<sourceDirectory>src/</sourceDirectory>

Dynamic Web Module 3.0 requires Java 1.6 or newer

I’m using STS and I configured my Web application to use Maven but, when I try to use Maven > Update project configuration, I’m getting this really annoying project error:

Dynamic Web Module 3.0 requires Java 1.6 or newer. [...] Maven WTP Configuration Problem
One or more constraints have not been satisfied.

STS/Eclipse are configured to use Java 1.6 but my project apparently isn’t. So I go change that, but it doesn’t fix that error, and any time I update project config with Maven, it’s back to using JRE 1.5 and my Java source files are no longer on the build path as source files. This because the Maven compiler plugin doesn’t use Eclipse settings and just imposes its own defaults, i.e. Java 5, unless otherwise configured by a POM. And since a “Dynamic Web Project” uses Servlet 3.0 it requires Java 6.

To fix, just add under the top-level POM:

<build>
	<plugins>
	   <plugin>
		  <groupId>org.apache.maven.plugins</groupId>
		  <artifactId>maven-compiler-plugin</artifactId>
		  <version>2.1</version>
		  <configuration>
			 <source>1.6</source>
			 <target>1.6</target>
		  </configuration>
	   </plugin>
	</plugins>
 </build>

Copyright © 2017 Andrea Girardi – It's my blog!

Theme by Anders NorenUp ↑