<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Answers to: How to properly integrate and deploy a third-party library in an ivy project and deploy it to the engine?</title><link>https://answers.axonivy.com/questions/2953/how-to-properly-integrate-and-deploy-a-third-party-library-in-an-ivy-project-and-deploy-it-to-the-engine</link><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;we've modeled a process where some IvyScript tasks make use of a third-party library. For usage in the ivy Designer we just added it to our ivy project and it worked. But whenever we try to deploy everything to the engine we get an error which says that a class from the mentioned library is not available. &lt;/p&gt;
&lt;p&gt;Hence, my question is: What is the standard workflow to integrate and deploy third-party libraries properly? Do we have to add them manually to some special engine folder (I'm just wondering because I've found some lib folders)?&lt;/p&gt;
&lt;p&gt;Thank you very much in advance and kind regards,
Lars&lt;/p&gt;</description><atom:link href="https://answers.axonivy.com/questions/2953/how-to-properly-integrate-and-deploy-a-third-party-library-in-an-ivy-project-and-deploy-it-to-the-engine" rel="self"></atom:link><language>en</language><lastBuildDate>Thu, 13 Sep 2018 08:32:55 -0400</lastBuildDate><item><title>Answer by Roland Strobl</title><link>https://answers.axonivy.com/questions/2953/how-to-properly-integrate-and-deploy-a-third-party-library-in-an-ivy-project-and-deploy-it-to-the-engine/3421</link><description>&lt;p&gt;We also used pdfbox. I ended up to add the dependency in the maven pom file. However, one has to modify the classpath file (Designer V7.0.6) and add:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;… sorry, could not paste the xml here, so I had to do an image.&lt;/em&gt;
&lt;img alt="alt text" src="https://answers.axonivy.com/upfiles/maven_dependencies_classpath.png"&gt;
to make the build work. In addition I added the maven nature to the project and did run the maven tasks as in clean, install in the Java perspective. That works for the designer, but we did not test the deployment yet.&lt;/p&gt;
&lt;p&gt;That might not be the cleanest solution, but it works for us, working the same sources at the same time in our team. Be aware, that the java perspective can mess up your project and is not recommended. One might want to give it a try on a sandbox project.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Roland Strobl</dc:creator><pubDate>Thu, 13 Sep 2018 08:32:55 -0400</pubDate><guid>https://answers.axonivy.com/questions/2953/how-to-properly-integrate-and-deploy-a-third-party-library-in-an-ivy-project-and-deploy-it-to-the-engine/3421</guid></item><item><title>Answer by LaAck</title><link>https://answers.axonivy.com/questions/2953/how-to-properly-integrate-and-deploy-a-third-party-library-in-an-ivy-project-and-deploy-it-to-the-engine/2973</link><description>&lt;p&gt;Hi, sorry for my delayed answer and thank you very much for your reply! We've copied the libraries into a folder ('lib') which is a subdirectory of the project. Then we've added the libraries to the classpath. However, when we deploy the project to the engine and run the process we always encounter an ivy.script error where the libraries are called. No further information are displayed. When I check the server log, there is just a single error but I'm not sure if it is related to our issue: &lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Problem while processing request '&amp;lt;masked ip adress and port&amp;gt;/ivy/rdlib/jywidgets-6.5.0.148808.jar'
org.apache.catalina.connector.ClientAbortException: java.io.IOException: Datenübergabe unterbrochen (broken pipe)
    at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:396)
    at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:426)
    at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:339)
    at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:421)
    at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:409)
    at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:97)
    at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1793)
    at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1769)
    at org.apache.commons.io.IOUtils.copy(IOUtils.java:1744)
    at ch.ivyteam.ivy.webserver.internal.IvyRichDialogLibServlet.sendInputStreamContent(IvyRichDialogLibServlet.java:148)
    at ch.ivyteam.ivy.webserver.internal.IvyRichDialogLibServlet.processClientLibraryRequest(IvyRichDialogLibServlet.java:91)
    at ch.ivyteam.ivy.webserver.internal.IvyRichDialogLibServlet.doRespondAsSystem(IvyRichDialogLibServlet.java:54)
    at ch.ivyteam.ivy.webserver.internal.AbstractServlet.prepareRespondAsSystem(AbstractServlet.java:230)
    at ch.ivyteam.ivy.webserver.internal.AbstractServlet.access$3(AbstractServlet.java:212)
    at ch.ivyteam.ivy.webserver.internal.AbstractServlet$2.call(AbstractServlet.java:190)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The library in question is pdfbox. We are trying to generate a PDF file based on information the process participants provide. &lt;/p&gt;
&lt;p&gt;We've been using AXON ivy for several months. However, we are rather new to its debugging functionality. If there is any means to enhance our way of error tracing... This issue is actually a show-stopper for our usage scenario.&lt;/p&gt;
&lt;p&gt;Thank you very much in advance for your help and kind regards,&lt;/p&gt;
&lt;p&gt;Lars&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">LaAck</dc:creator><pubDate>Mon, 13 Nov 2017 03:35:35 -0500</pubDate><guid>https://answers.axonivy.com/questions/2953/how-to-properly-integrate-and-deploy-a-third-party-library-in-an-ivy-project-and-deploy-it-to-the-engine/2973</guid></item></channel></rss>