<div dir="ltr">Hi,<div> To follow up on this issue I solved it by extending the wrapper script. I add the required external jars to the existing class-path in wrapper.</div><div>So wrapper looks like :</div><div><br></div><div><br></div><div><div><font color="#0000ff">#!/bin/sh</font></div><div><font color="#0000ff">export CLASSPATH=$SNAP_APP_PATH/jar/HelloWorld-helper.jar:$CLASSPATH</font></div><div><font color="#0000ff">java oata.HelloWorld</font></div></div><div><font color="#0000ff"><br></font></div><div><font color="#000000">This works fine.</font></div><div><font color="#000000"><br></font></div><div><font color="#000000">I have two examples now derived from the original java-hello-world example.</font></div><div><font color="#000000"><br></font></div><div><font color="#000000">Example 1 builds two jars and lets snapcraft do the work by adding the two jars that it builds to the class-path.</font></div><div><font color="#000000"><br></font></div><div><font color="#000000">Example 2 builds one jar and then takes care to add the required external jar to the class-path in the wrapper script.</font></div><div><font color="#000000"><br></font></div><div><font color="#000000">I can provide both if you think they might be of interest to other developers.</font></div><div><font color="#000000"><br></font></div><div><font color="#000000">Regards,</font></div><div><font color="#000000">Jenny</font></div><div><br></div><div><div class="gmail_extra"><br><div class="gmail_quote">On 14 June 2016 at 13:33, Sergio Schvezov <span dir="ltr"><<a href="mailto:sergio.schvezov@canonical.com" target="_blank">sergio.schvezov@canonical.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">El martes, 14 de junio de 2016 08h'15:48 ART, Jenny Murphy <<a href="mailto:jenny.murphy@episensor.com" target="_blank">jenny.murphy@episensor.com</a>> escribió:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Hi,<br>
 I am trying to build up some competency with snapcraft for java<br>
applications.<br>
<br>
Currently I have a hello world project which is based on<br>
<a href="https://github.com/ubuntu-core/snapcraft/blob/1.x/examples/java-hello-world/snapcraft.yaml" rel="noreferrer" target="_blank">https://github.com/ubuntu-core/snapcraft/blob/1.x/examples/java-hello-world/snapcraft.yaml</a><br>
.<br>
<br>
I have extended in that HelloWorld.java references a method from another<br>
package in an external jar file (HellowWorld-helper.jar)<br>
<br>
I edited the snapcraft.yaml to use the copy plugin to copy the jar file to<br>
the jar directory.<br>
It can be seen there after the snap stage.<br>
<br>
However in bin.wrapper.wrapper , the external jar file is not added to the<br>
classpath. So the application fails on running.<br>
<br>
How do I fix this?<br>
</blockquote>
<br></span>
First of all, thank you for giving this a try. I'll start with a couple of details and follow on with a solution.<br>
<br>
First of all, `bin.wrapper.bin` is an implementation detail, likely to go away when we implement allowing `apps` (and `plugins`) to define environment variables (<a href="https://pad.lv/1583259" rel="noreferrer" target="_blank">https://pad.lv/1583259</a>) which would do the right thing on a snappy system. How would this look like in the not so distant future:<br>
<br>
...<br>
apps:<br>
  bin:<br>
     command: ....<br>
     environment:<br>
         CLASSPATH: $CLASSPATH:$SNAP/path_to_jar/jar.jar<br>
<br>
parts:<br>
   ...<br>
<br>
Now on to your problem. The java related plugins have logic to export environment variables, but each part (driven by a plugin), is a private world of its own. Since you used the copy plugin, the logic in the copy plugin is just to copy. How do we solve in the immediate future? Well you would need to create something similar to that wrapper and export the required CLASSPATH.<br>
<br>
I'll cut off here to not go into to much details, but I am happy to follow up on this.<br>
<br>
Cheers<br>
Sergio<span class=""><font color="#888888"><br>
<br>
<br>
-- <br>
Enviado con Dekko desde mi dispositivo Ubuntu<br>
<br>
-- <br>
Snapcraft mailing list<br>
<a href="mailto:Snapcraft@lists.ubuntu.com" target="_blank">Snapcraft@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/snapcraft" rel="noreferrer" target="_blank">https://lists.ubuntu.com/mailman/listinfo/snapcraft</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div><strong>Jenny Murphy</strong></div>
<div><strong>EpiSensor, Georges Quay House, Georges Quay, Limerick, Ireland</strong></div>
<div>jenny.murphy<a href="mailto:jenny.murphy@episensor.com" target="_blank">@episensor.com</a>  t | +353 (0) 61 512 511  w | <a href="http://www.episensor.com/" target="_blank">http://www.episensor.com</a></div></div>
</div></div></div>