Hello,
I also need to build an uber-jar for a standalone version of a
tool using EMF plugins. For the moment, I use the eclipse:to-maven
goal from the Apache Maven Eclipse Plugin which is "retired" but
still available. The maven-shade-plugin is then able to find the
needed dependencies, but the top one must be listed in the pom
file.
I plan to try the maven-dependency-plugin, and also the
spring-boot-maven-plugin, to compare with my solution. But I will
be happy to heard about other tries.
Regards,
Dominique
Le 10/07/2019 à 19:40, Greg Watson a
écrit :
Hi Mattias,
We’ve been trying to work this out too. How are you
planning to use the plugins? Are you going to have an OSGi
framework in your app? There doesn’t seem to be an easy way to
load OSGi plugins from an uber jar using Felix, but maybe the
other frameworks have something...
The only way I’ve found to create the jar is using
the maven-dependency plugin then the maven-assembly plugin to
package them up as a jar.
Regards,
Greg
Hello,
We are trying to create an
"uber-jar" as well (for a standalone application that
uses EMF, i.e., there are a lot of dependencies to
Eclipse plugins that are not in any Maven repository)
and based on my understanding Tycho uses a system scope
[1] for dependencies that it resolves through p2. The
maven-shade plugin can't find those. The
maven-dependency plugin, however, is able to resolve the
dependencies found by Tycho, so it is possible to use
the copy-dependencies goal for example. But it's not
ideal.
What is the best way to handle a
case like this?
Is the spring-boot-maven-plugin
able to resolve those plugins?
Thanks,
Matthias
[1] https://stackoverflow.com/a/42420648
On 07.06.2019 21:47, Jay Jay
Billings wrote:
Matthias,
Excellent! Thanks! I think this will help with some of
our next steps.
Jay
On Fri, Jun 7, 2019 at 9:25 PM Matthias Sohn <matthias.sohn@xxxxxxxxx>
wrote:
We used the
maven-shade-plugin to build the jgit command line app:
https://git.eclipse.org/r/plugins/gitiles/jgit/jgit/+/refs/changes/43/135143/2/org.eclipse.jgit.pgm/pom.xml#175
We switched to the spring-boot-maven-plugin and now
use nested jars
since we added Bouncycastle for signing support which
is JCE and Eclipse
signed.
These signatures would break during shading and we
didn't want to re-sign
the shaded jar
since the JCE signature is meant to be used for JCE
providers only.
See change https://git.eclipse.org/r/#/c/133417
<https://git.eclipse.org/r/#/c/133417/31/org.eclipse.jgit.pgm/pom.xml>
especially
https://git.eclipse.org/r/#/c/133417/31/org.eclipse.jgit.pgm/pom.xml
here are the complete sources of the pom.xml
https://git.eclipse.org/r/plugins/gitiles/jgit/jgit/+/master/org.eclipse.jgit.pgm/pom.xml
and the shell script we use to start the command line
application
https://git.eclipse.org/r/plugins/gitiles/jgit/jgit/+/master/org.eclipse.jgit.pgm/jgit.sh
-Matthias
On Fri, Jun 7, 2019 at 11:03 PM Jay Jay Billings <jayjaybillings@xxxxxxxxx>
wrote:
FYI - Greg and I
looked at this more. Something like this appears to
work:
<plugin>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-p2-repository-plugin</artifactId>
<version>${tycho-version}</version>
<configuration>
<!--
<createArtifactRepository>false</createArtifactRepository>-->
<includeAllDependencies>true</includeAllDependencies>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.4.3</version>
<configuration>
<!-- put your configurations here
-->
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
This produces a single shaded jar that appears to be
correct, but I
haven't tried it in a program yet.
Jay
On Fri, Jun 7, 2019 at 3:43 PM Jay Jay Billings <jayjaybillings@xxxxxxxxx>
wrote:
Hello Tycho team!
Does anyone have a suggestion for how to create a
shaded/uber-jar of a
project and all of its dependencies? This would be
comparable to using the
maven-shaded plugin. I have found one good
reference for it on the mailing
list:
https://www.eclipse.org/lists/tycho-user/msg05978.html
Is that still the best way to do it?
Here's our use case. Greg Watson and I are looking
taking some of the
backend bundles from Eclipse PTP and Eclipse ICE
to use in some new web
services we are building. These are Spring+Vaadin
web applications, so it
would be easiest for us to just put a gigantic jar
on the classpath.
Any thoughts or suggestions?
Best,
Jay
--
Jay Jay Billings
Twitter Handle: @jayjaybillings
--
Jay Jay Billings
Twitter Handle: @jayjaybillings
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To change your delivery options, retrieve your
password, or unsubscribe
from this list, visit
https://www.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To change your delivery options, retrieve your
password, or unsubscribe
from this list, visit
https://www.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To change your delivery options, retrieve your password,
or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To change your delivery options,
retrieve your password, or unsubscribe from this list,
visit
https://www.eclipse.org/mailman/listinfo/tycho-user
_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/tycho-user
|