# Classpath and third party libraries

**URL:** <https://forum.inductiveautomation.com/t/classpath-and-third-party-libraries/3022>\
**Category:** General Discussion\
**Created:** [June 17, 2011, 2:36pm UTC](https://forum.inductiveautomation.com/t/classpath-and-third-party-libraries/3022 "2011-06-17T14:36:13Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![smorini](https://avatars.discourse-cdn.com/v4/letter/s/b2d939/32.png) [@smorini](https://forum.inductiveautomation.com/u/smorini)\
**Post date:** [June 17, 2011, 2:36pm UTC](https://forum.inductiveautomation.com/t/classpath-and-third-party-libraries/3022/1 "2011-06-17T14:36:13Z")

</div>

Hi all,

how and where i have to set the classpath in order to use an external library.

I packed this lib in the modl file with

but when i try to create an object that is in the scope of TCPDriver4PLC.jar i have this error:  
16.21.40 Common.BasicExecutionEngine One-shot task com.inductiveautomation.ignition.gateway.redunda  
java.lang.NoClassDefFoundError: it/coeing/tls/PLCDriver/logic/Configuration at it.coeing.tls.PLCDriver.wrapper.ignition.PLCDriver.initialize(PLCDriver.

Urgent Please.

Regards,  
Stefano

---

<div class="post-metadata">

**Author:** ![smorini](https://avatars.discourse-cdn.com/v4/letter/s/b2d939/32.png) [@smorini](https://forum.inductiveautomation.com/u/smorini)\
**Post date:** [June 17, 2011, 3:08pm UTC](https://forum.inductiveautomation.com/t/classpath-and-third-party-libraries/3022/2 "2011-06-17T15:08:53Z")

</div>

😃

Found solution:

add a jar scope on module.xml (TCPDriver4PLC.jar)  
The scope MUST be the same of the ignition driver.

Cheers,  
Stefano

---

<div class="post-metadata">

**Author:** ![Colby.Clegg](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/colby.clegg/32/3282_2.png) [@Colby.Clegg](https://forum.inductiveautomation.com/u/Colby.Clegg)\
**Post date:** [June 17, 2011, 3:36pm UTC](https://forum.inductiveautomation.com/t/classpath-and-third-party-libraries/3022/3 "2011-06-17T15:36:33Z")

</div>

I’m glad you got it figured out. This question is more appropriate for the module development forum, but I noticed that you didn’t have access to it. You should now be able to see it. I’ll leave this here for anyone else who happens to see it and doesn’t know that there’s another forum.

Regards,

---

<div class="post-metadata">

**Author:** ![Kevin.McClusky](https://avatars.discourse-cdn.com/v4/letter/k/47e85d/32.png) [@Kevin.McClusky](https://forum.inductiveautomation.com/u/Kevin.McClusky)\
**Post date:** [June 17, 2011, 8:44pm UTC](https://forum.inductiveautomation.com/t/classpath-and-third-party-libraries/3022/4 "2011-06-17T20:44:00Z")

</div>

There might be some benefit in packaging your external libraries in a separate Ignition module. I wrote a blog post about this a few weeks back. In case it’s helpful:

[http://ignitionprogramming.blogspot.com/2011/05/packaging-external-library-as-module.html](http://ignitionprogramming.blogspot.com/2011/05/packaging-external-library-as-module.html)

---

<div class="post-metadata">

**Author:** ![Kevin.McClusky](https://avatars.discourse-cdn.com/v4/letter/k/47e85d/32.png) [@Kevin.McClusky](https://forum.inductiveautomation.com/u/Kevin.McClusky)\
**Post date:** [June 17, 2011, 9:15pm UTC](https://forum.inductiveautomation.com/t/classpath-and-third-party-libraries/3022/5 "2011-06-17T21:15:40Z")

</div>

Update: A module can only depend on one other module. If you’re thinking about doing what I mentioned in the blog post, check out the new “Note” under the last code block.

---

<div class="post-metadata">

**Author:** ![smorini](https://avatars.discourse-cdn.com/v4/letter/s/b2d939/32.png) [@smorini](https://forum.inductiveautomation.com/u/smorini)\
**Post date:** [June 28, 2011, 1:10pm UTC](https://forum.inductiveautomation.com/t/classpath-and-third-party-libraries/3022/6 "2011-06-28T13:10:31Z")

</div>

Thanks to all.

Regards  
Stefano
