You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Stefan Sobernig <st...@wu.ac.at> on 2016/02/10 23:22:40 UTC

Maven newbie: Marry maven classloaders and jars-in-jar artifact?

Dear all,

I use Eclipse Tycho [1] to obtain and to repackage a number of Eclipse
plug-in jars into a Maven artifact [2]. This artifact
is effectively a "jars-in-jar":

superjar.jar
`- plugin1.jar
`- plugin2.jar
`- *.jar
`- org.eclipse.jdt.internal.jarinjarloader.*

When using this superjar artifact as a maven dependency in a second
maven project (e.g., a CLI app), the superjar and its parts are managed
via Eclipse's org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader as
main class *when deployed*. From within Maven, however, the jars-in-jar
structure is not visible to maven when providing the classpath etc.
(compile, exec:java, or test using surefire), for obvious reasons.

I am now watching out for strategies to make maven aware of the
jars-in-jar structure, by retrofitting or reusing
org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader. Unfortunately, I
am bare any knowledge of maven internals. This is my first maven
experience. Therefore, I am looking for your advise (custom
classloader?, ...)

I'd appreciate any conceptual and/or coding hints.

Stefan

[1] https://eclipse.org/tycho/
[2] https://github.com/mrcalvin/qvto-cli/blob/master/qvt-bundle/qvto.product

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Maven newbie: Marry maven classloaders and jars-in-jar artifact?

Posted by Wayne Fay <wa...@gmail.com>.
I avoided answering this for a while as I hoped someone else might
make a more useful comment, but I don't like seeing posts - especially
from people new to Maven & this list - completely unanswered if I have
something to contribute, so here's my 2c...

Personally, I'd abandon the "jars in a jar" thing and use bog-standard
Maven tooling including dependency management etc to pull in the jars
you are depending on for your application. Especially seeing as you
are a "Maven newbie."

We've seen plenty of people new to Maven come to this list with
nonstandard configurations and expectations of how they're going to
change Maven to fit their specific needs. I think that most of them
eventually come around and learn to love Maven as-is. That said, I'm
not a user of Tycho so perhaps this is normal/easy and you simply need
to ask your question on a Tycho-oriented list rather than here.

Wayne

On Wed, Feb 10, 2016 at 4:22 PM, Stefan Sobernig
<st...@wu.ac.at> wrote:
> Dear all,
>
> I use Eclipse Tycho [1] to obtain and to repackage a number of Eclipse
> plug-in jars into a Maven artifact [2]. This artifact
> is effectively a "jars-in-jar":
>
> superjar.jar
> `- plugin1.jar
> `- plugin2.jar
> `- *.jar
> `- org.eclipse.jdt.internal.jarinjarloader.*
>
> When using this superjar artifact as a maven dependency in a second
> maven project (e.g., a CLI app), the superjar and its parts are managed
> via Eclipse's org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader as
> main class *when deployed*. From within Maven, however, the jars-in-jar
> structure is not visible to maven when providing the classpath etc.
> (compile, exec:java, or test using surefire), for obvious reasons.
>
> I am now watching out for strategies to make maven aware of the
> jars-in-jar structure, by retrofitting or reusing
> org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader. Unfortunately, I
> am bare any knowledge of maven internals. This is my first maven
> experience. Therefore, I am looking for your advise (custom
> classloader?, ...)
>
> I'd appreciate any conceptual and/or coding hints.
>
> Stefan
>
> [1] https://eclipse.org/tycho/
> [2] https://github.com/mrcalvin/qvto-cli/blob/master/qvt-bundle/qvto.product
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org