Hi Pablo, I believe you can resolve this by added an extra source directory using the build-helper-maven-plugin. In your use-case you would add the main source directory like this:
<sourceDirectory>src/webapp/WEB-INF/src</sourceDirectory> Add any additional source directories using the build-helper-maven-plugin: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <executions> <execution> <id>add-source</id> <phase>generate-sources</phase> <goals> <goal>add-source</goal> </goals> <configuration> <sources> <source>src/integration-tests</source> </sources> </configuration> </execution> </executions> </plugin> If you use this plugin you don't need any configuration of the maven-compiler-plugin. Your additional sources will be compiled automatically. -----Oorspronkelijk bericht----- Van: Pablo [mailto:[EMAIL PROTECTED] Verzonden: dinsdag 10 januari 2006 13:55 Aan: Maven Users List Onderwerp: maven-compiler-plugin Hello everyone I have the following project structure: /src/webapp/WEB-INF/src etc. /src/tests /src/integration-tests Junit tests are compiled automatically by setting the value below: <testSourceDirectory>src/tests/java</testSourceDirectory> Now I want to use the same plugin to compile integration-tests. The compiled tests should be placed in target/integration-tests. Since fields: private List compileSourceRoots; private File outputDirectory; are readonly it's not possible to set them in plugin's configuration. I removed @readonly attribute and installed the plugin just to see if it would work. This is the part of my pom.xml which defines compiler plugin: <plugin> <artifactId>maven-compiler-plugin</artifactId> <configuration> <encoding>iso-8859-2</encoding> </configuration> <executions> <execution> <id>testy</id> <phase>test-compile</phase> <goals> <goal>testCompile</goal> </goals> <configuration> <compileSourceRoots> <compileSourceRoot>src/integration-tests</compileSourceRoot> </compileSourceRoots> <outputDirectory>${project.build}/integration-tests</outputDirectory> </configuration> </execution> </executions> </plugin> I thought that I could change compilesourceRoot and outputDirectory and all integration tests would be compiled. But it isn't so: [EMAIL PROTECTED]:~/cvsroot/webapp$ mvn clean test-compile [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ ---- [INFO] Building WebApp [INFO] task-segment: [clean, test-compile] [INFO] ------------------------------------------------------------------------ ---- [INFO] [clean:clean] [INFO] Deleting directory /home/pablo/cvsroot/webapp/target [INFO] [resources:resources] [INFO] Using default encoding to copy filtered resources. [INFO] [compiler:compile] Compiling 225 source files to /home/pablo/cvsroot/webapp/target/classes [INFO] [resources:testResources] [INFO] Using default encoding to copy filtered resources. [INFO] [compiler:testCompile] Compiling 19 source files to /home/pablo/cvsroot/webapp/target/test-classes [INFO] [compiler:testCompile {execution: testy}] Compiling 19 source files to /home/pablo/cvsroot/webapp/target/integration-tests [INFO] ------------------------------------------------------------------------ ---- [INFO] BUILD SUCCESSFUL [INFO] ------------------------------------------------------------------------ ---- [INFO] Total time: 59 seconds [INFO] Finished at: Tue Jan 10 13:50:51 CET 2006 [INFO] Final Memory: 7M/33M [INFO] ------------------------------------------------------------------------ ---- The compiler plugin is run twice. As you can see <outputDirectory>${project.build}/integration-tests</outputDirectory> is used but tests sources' directory is not. What am I doing wrong? How can I use this plugin to compile additional things? And will it be ever possible to do it? I had to remove @readonly attributes. Thanks for reading Pablo --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]