<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Answers to: Use Axon.ivy Engine libraries in a plain Java process (Not Supported)</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported</link><description>&lt;p&gt;Hi everybody,&lt;/p&gt;
&lt;p&gt;In my project in designer 7.0.8 I've Axon.ivy Libraries who are available.&lt;/p&gt;
&lt;p&gt;Like commons-io-2.5.jar from apache.&lt;/p&gt;
&lt;p&gt;I'm using a class from this jar, in designer it works fine.&lt;/p&gt;
&lt;p&gt;But when I'm starting my project into the engine I get a classpath exception.&lt;/p&gt;
&lt;p&gt;I searched into the Engine documentation and plugins / lib - this jar is not present.&lt;/p&gt;
&lt;p&gt;How can I solve this problem? and why are not all the Axon.ivy libraries who are in Designer in the classpath not present in the Engine? What should we do, manually copy all the jars into the engine and add them into the classpath or as a plugins? in version 6 there were available.&lt;/p&gt;
&lt;p&gt;It's weird because now we have Axon.ivy Libraries (who are provided in all projects) and optional classpaths to add like Axis or Drools libraries. All the libraries contained into the optional classpaths are present in the Engine plugins directory. But the Axon.ivy Libraries who are automatically available in the Designer without adding extra classpath containers are not all available... It sounds so weird to me...&lt;/p&gt;
&lt;p&gt;Thanks for the information and cheers, 
Axon Ivy Developer&lt;/p&gt;</description><atom:link href="https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported" rel="self"></atom:link><language>en</language><lastBuildDate>Mon, 05 Nov 2018 05:33:23 -0500</lastBuildDate><item><title>Comment by AxonIvyDeveloper on AxonIvyDeveloper's answer</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3532</link><description>&lt;p&gt;Ok it's weird I get this response from one of your colleague about how to add jars who are not provided by Engine (for example maven lib) and he told me to follow this:
&lt;a href="https://answers.axonivy.com/questions/2089/add-library-with-pom-xml"&gt;https://answers.axonivy.com/questions/2089/add-library-with-pom-xml&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Because bevore we added those jar in a shared folder who was setted on the engine classpath.&lt;/p&gt;
&lt;p&gt;And now we add them into ear lib directory and on the classpath according to this link.&lt;/p&gt;
&lt;p&gt;But for my old PMV where the Jars were added into a shared folder I don't know if I have to edit them and redeploy them with the jars now in the classpath instead.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AxonIvyDeveloper</dc:creator><pubDate>Mon, 05 Nov 2018 05:33:23 -0500</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3532</guid></item><item><title>Comment by Reguel Wermelinger on AxonIvyDeveloper's answer</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3531</link><description>&lt;p&gt;We do not work with any EAR mechanism... so it seems like your still following an unsupported way to use the engine.
&lt;strong&gt;If you want to run advanced java code, that relies on restricted internals, within our OSGi environment you will need to design your JAR/Project as plugin/bundle project&lt;/strong&gt;. You can develop such a project easily within the Designer. 
See &lt;a href="https://developer.axonivy.com/doc/dev/DesignerGuideHtml/ivy.concepts.html#ivy-extension-eclipse"&gt;https://developer.axonivy.com/doc/dev/DesignerGuideHtml/ivy.concepts.html#ivy-extension-eclipse&lt;/a&gt;
Then you can add internal deps of Eclipse itself or Ivy to your project without hacking the classpath by yourself. See MANIFEST.MF &amp;gt; Dependencies&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Reguel Wermelinger</dc:creator><pubDate>Mon, 05 Nov 2018 05:23:08 -0500</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3531</guid></item><item><title>Comment by Reguel Wermelinger on AxonIvyDeveloper's answer</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3530</link><description>&lt;p&gt;we would never remove a JAR from an already released version. changing the classloading mechanism in general is always a heavy migration that comes first in major leading edge releases and later in an official long term supported release&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Reguel Wermelinger</dc:creator><pubDate>Mon, 05 Nov 2018 05:17:36 -0500</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3530</guid></item><item><title>Answer by AxonIvyDeveloper</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported/3529</link><description>&lt;p&gt;Ok I found already a part of the answer:&lt;/p&gt;
&lt;p&gt;If provided jar is removed from the osgi environnent we can add it to the ear and to the ear classpath. I still dont know If old pmv dependencies are still going to work.&lt;/p&gt;
&lt;p&gt;Do somebody know anything related to old pmv migration? Are the dependencies also persisted?&lt;/p&gt;
&lt;p&gt;I believe that the dependencies of each ears are persisted with the PMV version in the Axon temp folder. So that when we migrate to a new Axon Ivy Version we don't have to provide 2 or 3 different versions of Hibernate, or JSF or some random lib that were removed.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AxonIvyDeveloper</dc:creator><pubDate>Mon, 05 Nov 2018 03:01:34 -0500</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported/3529</guid></item><item><title>Comment by AxonIvyDeveloper on AxonIvyDeveloper's answer</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3514</link><description>&lt;p&gt;And what about old PMV developed with Axon Ivy 5.X for example, if you remove a jar from engine that we are using in an old PMV do we have to adapt anything?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AxonIvyDeveloper</dc:creator><pubDate>Mon, 29 Oct 2018 10:45:01 -0400</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3514</guid></item><item><title>Comment by AxonIvyDeveloper on AxonIvyDeveloper's answer</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3513</link><description>&lt;p&gt;Ok then can you explain to me how I can add to my PMV a Jars from those plugins who would for example be removed? Let take this avax.inject-1.jar and lets supposed my IVY Projet is using it and you remove it from the engine. How do we proceed? Should we adapt our Maven pom file? or add it manually to a bundle project?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AxonIvyDeveloper</dc:creator><pubDate>Mon, 29 Oct 2018 10:44:07 -0400</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3513</guid></item><item><title>Comment by Reguel Wermelinger on AxonIvyDeveloper's answer</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3512</link><description>&lt;p&gt;&lt;strong&gt;It is a big bad smell if anyone needs the path to our internal JARs&lt;/strong&gt;. We share a limited subset of popular libraries on the classpath so that it can be used within ivyProjects. 
But &lt;strong&gt;there is absolutely no guarantee that we will keep the way how we ship these JARs&lt;/strong&gt; or which classloading mechanism is in charge under the hood.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Reguel Wermelinger</dc:creator><pubDate>Mon, 29 Oct 2018 10:12:39 -0400</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3512</guid></item><item><title>Comment by AxonIvyDeveloper on AxonIvyDeveloper's answer</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3507</link><description>&lt;p&gt;This jar is available in the plugin: ch.ivyteam.util&lt;/p&gt;
&lt;p&gt;This was the same for the common-io jar before. They are present but not documented actually, therefore I though they were missing in the engine.&lt;/p&gt;
&lt;p&gt;But I still wondering why is the plugin documentation not documenting all available jar but only a subset. Is it because we should not use them at all? or is it because it was forgotten?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AxonIvyDeveloper</dc:creator><pubDate>Thu, 25 Oct 2018 06:29:45 -0400</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3507</guid></item><item><title>Answer by AxonIvyDeveloper</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported/3506</link><description>&lt;p&gt;Actually I found a new one, before the documentation or anything is updated I want to report again that some library are not in both available:&lt;/p&gt;
&lt;p&gt;This time I found that javax.inject-1.jar is present in the Designer Axon.Ivy base libaries but not in the Engine!&lt;/p&gt;
&lt;p&gt;I searched in the documentation and I cannot find any entries in the &lt;a href="https://developer.axonivy.com/doc/7.0.latest/readme-engine"&gt;https://developer.axonivy.com/doc/7.0.latest/readme-engine&lt;/a&gt; for the text inject!&lt;/p&gt;
&lt;p&gt;Last time sadly I saw the problem and needed to wait 3 weeks before that someone answered, so a lot of thing can change in 3 weeks but today the 25.10.2018 I really didn't found anything about the javax.inject library in the engine readme, but this is present in the designer.&lt;/p&gt;
&lt;p&gt;&lt;img alt="alt text" src="https://answers.axonivy.com/upfiles/missingLibProof.png"&gt;&lt;/p&gt;
&lt;p&gt;Thanks for the help and cheers,
Axon Ivy developer&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AxonIvyDeveloper</dc:creator><pubDate>Thu, 25 Oct 2018 05:18:27 -0400</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported/3506</guid></item><item><title>Answer by Reguel Wermelinger</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported/3493</link><description>&lt;p&gt;We rely on a proper OSGi classpath. So we can avoid ClassLoading problems and dependency resolution conflicts (aka JAR-Hell). 
Trying to run normal Java-Code with our OSGi bundle JARs is not recommended or supported. So you should not use your own Main class or similar. But you can run any java code safely within our IvyProject environment.&lt;/p&gt;
&lt;p&gt;If you face classloading issues in build process with maven you could share a flat classpath of the engine to provide build dependencies. But not to run an Java process on it. See &lt;a href="https://axonivy.github.io/project-build-plugin/release/7.0/share-engine-core-classpath-mojo.html"&gt;https://axonivy.github.io/project-build-plugin/release/7.0/share-engine-core-classpath-mojo.html&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Reguel Wermelinger</dc:creator><pubDate>Tue, 23 Oct 2018 06:14:46 -0400</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported/3493</guid></item><item><title>Comment by AxonIvyDeveloper on AxonIvyDeveloper's question</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3492</link><description>&lt;p&gt;ok I don't know where I get confused then... Sorry. I really searched like 2-3 weeks ago and didn't find it, but maybe I did a type error or something went wrong.&lt;/p&gt;
&lt;p&gt;But maybe you can help me to understand two more thing:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Is it possible to add those "plugins" on the classpath of a normal java program?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And for the maven dependency in our PMV like processing image library, we don't have to change anything for the OSGI mode? &lt;/p&gt;
&lt;p&gt;Thanks a lot by the way!&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AxonIvyDeveloper</dc:creator><pubDate>Tue, 23 Oct 2018 05:05:12 -0400</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3492</guid></item><item><title>Comment by Reguel Wermelinger on AxonIvyDeveloper's question</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3491</link><description>&lt;p&gt;I don't see the problem. It is in the engine ... so any ivy project running on the engine should be able to access it.  &lt;img src="https://answers.axonivy.com/upfiles/commonsIOinEngine.png" width="400"&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Reguel Wermelinger</dc:creator><pubDate>Tue, 23 Oct 2018 04:35:13 -0400</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3491</guid></item><item><title>Comment by AxonIvyDeveloper on AxonIvyDeveloper's question</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3490</link><description>&lt;p&gt;My problem is the next one, I can find some libraries like the commons-io-2.5.jar inside the Axon.ivy Libraries like you can see in the provided screenshot:&lt;/p&gt;
&lt;p&gt;&lt;img alt="alt text" src="https://answers.axonivy.com/upfiles/missing-axon-lib-for-forum.png"&gt;&lt;/p&gt;
&lt;p&gt;If you look at the Engine documentation of 7.0.8: &lt;a href="http://developer.axonivy.com/doc/7.0.latest/readme-engine"&gt;http://developer.axonivy.com/doc/7.0.latest/readme-engine&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The commons-io-2.5.jar is not present in any plugins.&lt;/p&gt;
&lt;p&gt;If you look at the Engine documentation of 7.0.8: &lt;a href="http://developer.axonivy.com/doc/6.0.latest/readme-engine"&gt;http://developer.axonivy.com/doc/6.0.latest/readme-engine&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You can find the jar commons-io-2.4.jar&lt;/p&gt;
&lt;p&gt;I hope it helps :)&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">AxonIvyDeveloper</dc:creator><pubDate>Tue, 23 Oct 2018 03:01:23 -0400</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3490</guid></item><item><title>Comment by Reguel Wermelinger on AxonIvyDeveloper's question</title><link>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3489</link><description>&lt;p&gt;sounds strange to me. The opposite should be the intention of this release, that the Designer and Engine classpath is much more streamlined. As they both rely on the same OSGi classloading behaviour. While the older versions had a completely different classloading stack.
Can you share a simple demo that shows that you can access a class in the Designer, but no on the engine?&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Reguel Wermelinger</dc:creator><pubDate>Tue, 23 Oct 2018 02:51:46 -0400</pubDate><guid>https://answers.axonivy.com/questions/3483/use-axon-ivy-engine-libraries-in-a-plain-java-process-not-supported#3489</guid></item></channel></rss>