maven-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Werner Guttmann <>
Subject Re: How to add generated resources directory in a plugin
Date Fri, 02 Oct 2009 11:12:34 GMT
That does not really match what I am observing .. :-(.

If I generate Java sources and resources into


and use


within the Maven plugin for Castor, Maven will include the generated
Java classes during compilation and put the class files in
target/classes of the project.

As a result of this, users of the Maven plugin for Castor currently have
to add the following section to their project POMs.


to have those .castor.cdr Files copied to target/classes as well. As we
all know, this is error-prone.

As such, I tried to add code to the Maven plugin for Castor as follows:

Resource resource = new Resource();
resource.setDirectory( getResourceDestination().getAbsolutePath() );
List<String> includes = new LinkedList<String>();
includes.add( "**/*.cdr" );
resource.setIncludes( includes );
project.addResource( resource );

Problem is that once I add that code, the Java source files start
showing up in target/classes, which is not ideal.

Any idea what's going wrong here ?


Roland Asmann wrote:
> I believe this can work (not 100% sure, I generate into two different 
> directories for sources and resources), but you should probably ONLY use the 
> addCompileSourceRoot for your directory...
> The way I understand it, is that if you put sources & resources there, they 
> are compiled to the output dir. Java knows how to handle .java-files --> 
> convert them to classes, and how to handle anything else --> just copy.
> If you use the resource-dir, maven will handle the copying and will copy 
> everything from the source to the target, without compiling.
> So, I presume you have used both calls I gave you, although you should only 
> use one.
> Hope this helps,
> On Thursday 01 October 2009 15:15, Werner Guttmann wrote:
>> Hi Roland,
>> does this pattern/recipe change if both resources and Java classes would
>> be generated in the same directory. I have tried this a few days ago
>> (trying to automate a few things for the castor-maven-plugin), and it
>> seems like this does not really work.
>> Assume you have a directory where you'll find ....
>> -
>> -
>> - .castor.cdr
>> where the last is a resource file. If I use above code snippets, I can
>> see in the target folder after a plugin run and subsequent compilation
>> the compiled Java classes, the resource file and the source files.
>> How can I avoid the source files to be copy across ?
>> Regards
>> Werner
>> Roland Asmann wrote:
>>> Assuming you already have the maven-project as a variable in your plugin
>>> (if not, add it!):
>>> project.addCompileSourceRoot("your output directory here");
>>> And in the case of resources:
>>> Resource resource = new Resource();
>>> resource.setDirectory("your output directory here");
>>> resource.addInclude("**/*");
>>> project.addResource(resource);
>>> On Thursday 01 October 2009 13:59, Lewis, Eric wrote:
>>>> Hi
>>>> I'm writing a plugin which generates resources and also test resources.
>>>> How in my plugin can I add these directories to the sources paths and
>>>> the test resources paths? (Except for using the build-helper plugin)
>>>> Best regards,
>>>> Eric
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail:
>>>> For additional commands, e-mail:
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail:
>> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message