General I can't seem to get JUnit to show up in the classpath. What gives?

You must have some unit tests for your project, otherwise JUnit is ignored.

Eclipse doesn't support hierarchical project structure. How am i supposed to organize my multiproject ?

If you use Eclipse, you may already have encountered the Infamous Layout Issue: Eclipse doesn't handle (yet ?) overlapping projects. Thus if you work in a multiproject context with a classical non flat layout, Eclipse integration becomes quite problematic. You surely don't want to use one big Eclipse project because you'll then lose visibility on dependencies (inter-project dependencies as well as library dependencies) and this will quickly become quite hard to manage - and promotes cycles.

Best solution found so far is to refactor your project structure to rather use a flat layout, as described below:

/project-root               |      /project-root
  +- subproject1            |         +- project.xml
       +- project.xml      ===>    /subproject1
  +- subproject2            |         +- project.xml
       +- project.xml       |      /subproject2
  +- project.xml            |         +- project.xml

            

And alter your properties in a similar way than the example below: maven.multiproject.basedir=${basedir}/.. maven.multiproject.includes=*/project.xml maven.multiproject.excludes=project-root/project.xml

If you really can't (or don't want to) flatten your layout, the only solutions that are offered to you are a few tricks, each with its own drawback.

  • Edit root files outside Eclipse - almost safe but implies switching between tools. Note that initial checkout must be done through command line in this case, because parent project shouldn't be in the workspace folder.
  • Create a virtual project which contains links to root files - doesn't support refactoring well, and implies identical paths on every developer machines.
Use those tricks at your own risk

if this issue really annoys you, then please vote for https://bugs.eclipse.org/bugs/show_bug.cgi?id=35973