I think differently. In Apache SIS for example, we maintain both a Maven
and Ant project. The root source code directory is a classical Maven
project with pom.xml file [1], but we also maintain a sub-directory with
NetBeans Ant project configuration [2]. The official project
configuration is the Maven one, but the Ant project configuration is
keep in sync and takes its dependencies directly from the
~/.m2/repository directory. This means that the project needs to be
built with Maven once before we can use the Ant project. We do that for
the following reasons:

  * NetBeans Ant project builds faster.
  * Application and debugging sessions start faster in NetBeans Ant
    project. This is very convenient when we do a lot of "modify - test"
    cycles.
  * Allow to commit configurations that can not be done in Maven (header
    license, hints, additional words for check speller).
  * NetBeans Ant Jigsaw project configuration offers better
    compatibility with Jigsaw (more on it below).

A major issue is that since Jigsaw, Maven standard directory layout is
incompatible with java, javac and javadoc "--module-path" option, which
is making me look for alternatives (Gradle?). I describe the issue at
[3]. I would like to try changes in maven-compiler, maven-javadoc,
maven-jar and maven-deploy plugins for supporting Jigsaw, but did not
had the time to start yet. As far as I can see, I can not modularize my
projects the way I want with Maven at it stands today.

I also feel more concerned about Maven standard directory layout not
only because of its incompatibility with Jigsaw module paths, but also
because it does not seem well suited to project mixing two or more
languages. For example in the given directory layout:

  * src/main/java
  * src/main/cpp
  * src/main/resources

Does the resources applies to Java, to C++ or both?

So Maven is a great tool, but its speed is not yet the same than the
NetBeans Ant project configuration (admittedly it may be improved with
time) and - more importantly - I think that the Maven standard directory
layout needs to be modified at least for Jigsaw compatibility, maybe for
better multi-language support.

    Regards,

        Martin

[1] https://github.com/apache/sis
[2] https://github.com/apache/sis/tree/master/ide-project/NetBeans/nbproject
[3] https://github.com/Geomatys/maven-plugins/wiki

Reply via email to