A Maven parent does not contain any code but manages default setting for a project (versions of dependencies and deployment specifications) but I think that I understand what you might mean.

It looks like you should have one or more code projects that produce jars that are dependencies for other projects. This is pretty standard.

You seem to have a project that creates a war file. It should depend on the other project's artifacts in order to get their jar files into the right place in the war file.
This is pretty standard and maven knows how to built war files.

The project that produces a jar sounds like it is trying to produce a standalone executable. If its dependencies are set to point to the libraries that it needs, you should get an executable jar all set up and ready to be run. Maven knows how to do this.
You don't have to worry about classpaths or any of that stuff.

What I can see from your description is a pretty standard set of projects that should not require any special set up or plug-ins. It looks like a few jar POMs to make your libraries from your code, a war POM to make the WAR using the WAR plug-in and another jar POM to make the executable.

Google for "maven executable jar" gives lots of listings including this gem.

http://maven.apache.org/plugins/maven-shade-plugin/examples/executable-jar.html

Why do you need to play with the manifest?
Are you building something so unusual that Maven has not been used to do this before?

Ron



On 08/03/2012 1:25 PM, Ryan Wexler wrote:

Essentially I have a source code module and dependencies in a parent project as a jar. There are several projects which depend on it. For instance it is used in a war project. Another project that depends on it needs to produce am executable jar from the same code and the manifest needs to reference all the dependencies in the classpath with the prefix 'lib'.

On Mar 8, 2012 9:21 AM, "Ron Wheeler" <[email protected] <mailto:[email protected]>> wrote:

    Sound interesting but what are you trying to make in the end?

    What is the 30,000 ft view of the problem?

    Ron

    On 08/03/2012 12:03 PM, Ryan Wexler wrote:

        On Thu, Mar 8, 2012 at 8:36 AM, Wayne Fay<[email protected]
        <mailto:[email protected]>>  wrote:

                I would also like to add the classpath and set a
                classpathprefix like you
                can do using the normal maven jar.
                <addClasspath>true</addClasspath>
                <classpathPrefix>lib/</classpathPrefix>

                Is there a way to do this with the shade plugin?

            Generally, the thinking with Shade is that you are building an
            "uber-jar" that is going to contain the contents all your
            dependency
            jars along with your own code, so there should be no need
            to specify a
            classpath since it is all in one single jar file.

            What is your requirement?


        I am essentially creating a jar from a jar.  I was not intent
        on embedding
        my dependencies, so maybe this is the wrong tool.

        I was more interested as to the extent to which you can
        customize a jar
        using the ManifestResourceTransformer.  My initial thought is
        that it could
        inherit all of a jar artificat's dependencies and then affect
        that jar just
        like you were using the jar plugin.  But my thought process
        maybe wrong
        here.

        Maybe what I want instead is to unpack a jar artifact and it's
        dependencies
        and then recreate the jar from scratch.  Not sure how you
        unpack it's
        dependencies though.

        Wayne

            
---------------------------------------------------------------------
            To unsubscribe, e-mail: [email protected]
            <mailto:[email protected]>
            For additional commands, e-mail:
            [email protected]
            <mailto:[email protected]>




-- Ron Wheeler
    President
    Artifact Software Inc
    email: [email protected]
    <mailto:[email protected]>
    skype: ronaldmwheeler
    phone: 866-970-2435, ext 102 <tel:866-970-2435%2C%20ext%20102>




    ---------------------------------------------------------------------
    To unsubscribe, e-mail: [email protected]
    <mailto:[email protected]>
    For additional commands, e-mail: [email protected]
    <mailto:[email protected]>



--
Ron Wheeler
President
Artifact Software Inc
email: [email protected]
skype: ronaldmwheeler
phone: 866-970-2435, ext 102

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to