# Load other project into Ignition SDK

**URL:** <https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171>\
**Category:** Module Development\
**Created:** [November 22, 2019, 9:27am UTC](https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171 "2019-11-22T09:27:39Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![denis.palomanes](https://avatars.discourse-cdn.com/v4/letter/d/779978/32.png) [@denis.palomanes](https://forum.inductiveautomation.com/u/denis.palomanes)\
**Post date:** [November 22, 2019, 9:27am UTC](https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171/1 "2019-11-22T09:27:39Z")

</div>

Hello,

We are trying to load a java project into the SDK to make a component module, buf we have problems. The project that we are trying to load, have packages and .jar files, We are not able to load it, we have an error when we drop the component into a screen and we think that the problem is some references…

The error is:

![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/e/ea14c16587d7184fc19769168c5c55837137cfca.png)

the java project has some packages:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/5/58bab34275ba722799fa4211fdf7b278e6d197db.png)

We have tried to put the .jar files in the lib/core/… folders but it doesn’t works…

Any help?

Thank you,

---

<div class="post-metadata">

**Author:** ![paul-griffith](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/paul-griffith/32/37249_2.png) [@paul-griffith](https://forum.inductiveautomation.com/u/paul-griffith)\
**Post date:** [November 22, 2019, 4:32pm UTC](https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171/2 "2019-11-22T16:32:12Z")

</div>

If you’ve already got a module, then the `/lib/core/` hack shouldn’t necessary. What’s the actual stacktrace of the error message? An IAE is not what I would expect if you were missing required classes - I’d expect a ClassDefNotFound or similar error.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [November 22, 2019, 4:38pm UTC](https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171/3 "2019-11-22T16:38:13Z")

</div>

I suspect your issue is that you’ve just got this project sitting next to your module in Eclipse but you haven’t actually managed to get its JAR file into your module when it’s built.

---

<div class="post-metadata">

**Author:** ![denis.palomanes](https://avatars.discourse-cdn.com/v4/letter/d/779978/32.png) [@denis.palomanes](https://forum.inductiveautomation.com/u/denis.palomanes)\
**Post date:** [November 22, 2019, 10:06pm UTC](https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171/4 "2019-11-22T22:06:01Z")

</div>

Hello,

Ok, i have copy directly the jar file in the module… I suppose that this is not correct … How can I import correctly the jar file?

Thank you

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [November 22, 2019, 10:23pm UTC](https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171/5 "2019-11-22T22:23:17Z")

</div>

Are you using `ignition-maven-plugin` to build your module? It should take care of putting any compile-scope dependencies into the module and making an entry in the module.xml file.

Can you upload a copy of your module or module.xml file?

---

<div class="post-metadata">

**Author:** ![denis.palomanes](https://avatars.discourse-cdn.com/v4/letter/d/779978/32.png) [@denis.palomanes](https://forum.inductiveautomation.com/u/denis.palomanes)\
**Post date:** [November 22, 2019, 11:46pm UTC](https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171/6 "2019-11-22T23:46:24Z")

</div>

Hello,

Yes, I am using the maven plugin, I attached the ignition module, a folder with the .jar files, and the java project which I want to include in the ignition module (there are two projects, one is called core and the other is a project with the examples)  
you can download it form this link:

[https://shareittk.thyssenkrupp-elevator-seame.com/public/ignition\_module](https://shareittk.thyssenkrupp-elevator-seame.com/public/ignition_module)

Thank you,

---

<div class="post-metadata">

**Author:** ![denis.palomanes](https://avatars.discourse-cdn.com/v4/letter/d/779978/32.png) [@denis.palomanes](https://forum.inductiveautomation.com/u/denis.palomanes)\
**Post date:** [November 25, 2019, 7:58am UTC](https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171/7 "2019-11-25T07:58:18Z")

</div>

Hello,

The stacktrace is:

```auto
java.lang.IllegalArgumentException: No such Gstreamer factory: appsink
	at org.freedesktop.gstreamer.ElementFactory.makeRawElement(ElementFactory.java:307)
	at org.freedesktop.gstreamer.Element.makeRawElement(Element.java:99)
	at org.freedesktop.gstreamer.elements.AppSink.<init>(AppSink.java:86)
	at org.freedesktop.gstreamer.examples.SimpleVideoComponent.<init>(SimpleVideoComponent.java:75)
	at imas.client.OCRComponent.<init>(OCRComponent.java:123)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
	at java.base/java.lang.Class.newInstance(Unknown Source)
	at com.inductiveautomation.vision.api.designer.palette.JavaBeanPaletteItem.createJavaBean(JavaBeanPaletteItem.java:58)
	at com.inductiveautomation.vision.api.designer.palette.JavaBeanPaletteItem.createComponent(JavaBeanPaletteItem.java:54)
	at com.inductiveautomation.factorypmi.designer.workspace.tools.InstantiationTool.onClick(InstantiationTool.java:89)
	at com.inductiveautomation.ignition.designer.designable.DesignPanel$ToolMouseListener.onClick(DesignPanel.java:986)
	at com.inductiveautomation.ignition.client.util.gui.CommonMouseAdapter.mouseReleased(CommonMouseAdapter.java:72)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
	at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Ignition v8.0.5 (b2019101516)
Java: Azul Systems, Inc. 11.0.4

```

Looking at the source code, the exception is thrown in:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/2X/d/d195c37c6b41b0edfdff7de4b7b51be1b33d9950.png)

This code is from the source code of the java project(it is not mine), when you execute the project outside Ignition it works, but for some reason from inside the module it doesn’t works.

---

<div class="post-metadata">

**Author:** ![denis.palomanes](https://avatars.discourse-cdn.com/v4/letter/d/779978/32.png) [@denis.palomanes](https://forum.inductiveautomation.com/u/denis.palomanes)\
**Post date:** [November 25, 2019, 8:05am UTC](https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171/8 "2019-11-25T08:05:26Z")

</div>

Hello,

Have you had time to look at the code?

I was looking to the module.xml file, and I have included some lines to include manually some .jar files after that I have zipped the files and rename it but It doesn’t works…

Please any help… (I am desperate with this…🙁)

thank you so much,

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [November 25, 2019, 1:48pm UTC](https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171/9 "2019-11-25T13:48:36Z")

</div>

I would expect a gStreamer Java API to be using a JNI to connect to gStreamer's native libraries. Running outside of Ignition allows the JVM to use the platform library paths to find and load everything necessary. Within Ignition, you must manage all dependencies yourself. Note that much of gStreamer is GPL code and cannot be distributed in an Ignition module.  
Fortunately, once you manage to get a JNI .dll or .so file loaded in Ignition, they will generally follow the platform's defaults to load other native dependencies. You might find this thread helpful:

> [@Connect to camera using opencv](http://forum.inductiveautomation.com/t/connect-to-camera-using-opencv/27076):
>
> Hi all, I’m newbie in module development using Ignition SDK. I tried the examples and I focused on the Vision Component Example. I am trying to develop a new component to connect to an IP camera using OpenCV. Right now my code generates a .modl file, but maybe I’m doing things wrong when I repaint my component because I’m getting the exception: Exception in thread “AWT-EventQueue-0” java.lang.NullPointerException at imas.client.OCRComponent.paintComponent(OCRComponent.java:116)\* at java.des…

In my module, I included a config page to allow the user to specify exactly where the necessary external jar and JNI files are located, if not found in the default location.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [November 25, 2019, 2:03pm UTC](https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171/10 "2019-11-25T14:03:38Z")

</div>

You have a folder called “jar” with 2 jars in it that aren’t listed in your dependencies anywhere:

- jar\_mio.jar
- x86\_64-3.3.0-v3346.jar

I don’t really know anything about the libraries you’re using, but if these are necessary for it to run correctly then you should make sure they’re indicated as dependencies by your module.

---

<div class="post-metadata">

**Author:** ![denis.palomanes](https://avatars.discourse-cdn.com/v4/letter/d/779978/32.png) [@denis.palomanes](https://forum.inductiveautomation.com/u/denis.palomanes)\
**Post date:** [November 26, 2019, 1:25pm UTC](https://forum.inductiveautomation.com/t/load-other-project-into-ignition-sdk/30171/11 "2019-11-26T13:25:07Z")

</div>

Hello,

Ok, thank you to all, it was a problem with the .jar and with some initializations.
