Great Summary Brandon.

Given that Maven allows one to specify the resources folder (and even filter
out certain files, like we will for .java files eventually), and considering
that it does not cast a warning or error upon setting the resource directory
to the source directory, I would consider it a feature supported by Maven.
If we do encounter issues, I won't be shy about filing a bug report with
either Maven or any plug-ins that have a problem with this configuration.

iBATIS is not the only project to use this sort of setup.  Hibernate also
has classpath resources that sit directly beside the class files.  While
some may choose to separate them out for a very good reason, I believe most
keep them in the exact same directory structure.  So I would bet that this
is quite a common practice.

Cheers,
Clinton

On Fri, Aug 8, 2008 at 8:35 AM, Brandon Goodin <[EMAIL PROTECTED]>wrote:

> Hey All,
>
> There was a private discussion regarding the project layout and maven
> default conventions. I wanted to put the discussion out in front of
> everyone else, purely to get feedback and thoughts.
>
> At the moment the src directory contains source *and* resources. Maven
> has been configured to recognize the src/main/java as the resources
> and java directory. The reason for this is that it can get tedious to
> move between the java and resources directory rather than just edit a
> resource in the same package as the java class.
>
> The approach of using the java directory as a dual purpose directory
> is a departure from Maven's default directory structure. The concern
> of departing from that structure is that it may cause additional
> difficulties as we make heavier use of maven for coverage and
> reporting. If we experience difficulties in the future with Maven
> (because we all know it can be temperamental) it may be that we start
> having to separate all the resource files out of the java directory in
> order to eliminate it as a cause.
>
> So in summary...
>
> Current reasons for dual purpose java directory:
> * iBATIS 3 will make use of convention configuration and the visual
> proximity of resources to java is more visually correct
> * All around less directory clutter
>
>
> Concerns and counterpoints to making the java directory dual purpose:
> * Most IDEs can merge the resource and java directories in a package view.
> * We run the risk of avoiding potential maven headaches with plugins
> that don't handle the combined java/resources approach.
>
>
> In the end the question would be... Is it better to have coding
> convenience or follow the maven default approach of separating java
> and resource? Any experiences and comments are welcome.
>
> Brandon
>

Reply via email to