I recently made the jump from Ant to Maven (2.0-beta snapshot), and I must 
say that I am very impressed. Having never used Maven before, it only took a 
couple of hours to set up a fairly complex multi-module build process. We 
had spent a significant amount of time attempting to engineer a generic 
ant-based build process by specifying inter-module dependancies, the result 
was a very messy practically unmaintainable set of build files (although 
they worked...). With maven, the setup was a breeze and we have gained 
better maintainability and extensibility. My only gripe is the lack of 
documentation for Maven 2.0, which is completely understandable being a 
pre-release application.

The one thing I have not been able to figure out with Maven is how to build 
our application in a manner suitable for immediate use on the system it is 
being built on. I have been using the assembly plugin to specify the 
structure of the application, including dependancies, an executable jar, and 
configuration/data files, which works just fine:

assembly.tar.bz2:
Application.jar (the executable jar)
lib/ (directory containing all dependencies)
config/ (directory containing runtime configuration)
data/ (directory containing data files)

Our application is an OpenGL-based visualization tool, and unfortunately, 
much of the testing can not be easily automated (we need to analyze the 
appearance of OpenGL scenes). This means that during development, we 
frequently and repeatedly run the application after a build. Using the 
assembly plugin is the only way I have found to create the correct directory 
structure for the application, however I would like to do this without 
actually archiving the components (i.e. create the file structure but don't 
tar/zip/etc it). Building the archive takes a significant amount of time, 
and more often than not, we don't ever use the archive (except to extract 
the contents to the filesystem, run the application, and repeat the 
process).

So my question is... Is there a way to specify an assembly-like structure (
e.g. using bin.xml) to create a non-archived assembly?


-- 
Daniel Krisher

Reply via email to