Adding java custom classes to Ignition

Hi all,
not sure if I am in the right forum section, maybe I should post in the module development section.
Anyway: what I’d like to do is to add java classes of my own to the scripting system. The same way I can use the java.util.Date class by just writing
from java.util import Date
I’d like to be able to write
from myPackage import myClass
and then use the static methods in there.
Is that possilbe? Should I use the sdk?

Thanks in advance, regards

The only way to do this is to drop your jar files into the lib/core/gateway, lib/core/client, lib/core/designer, or lib/core/common folders, depending on the scope you want to be able to access them in. Putting them in common should make them available everywhere. The downside is that these are not part of the backup or preserved in any way, so you need to make sure your jars are always added to those locations in new gateways, etc… on your own.

disclaimer: this is not officially supported and there are no guarantees this will continue working in the future.

If you go the module route you can add your own scripting functions but the classes your module uses won’t be in the right class loader to use the way you’re asking.

1 Like

Hello Kevin,
thanks for your answer. I did some tests, unfortunately with no success.
Using Eclipse, I wrote a simple class named Communicator in the pg_net_test package:

I exported then my Java project in the net_test.jar file

I tried copying that file to each one of the folder you suggested and programmed a button script in the designer just like this:

What I get is the following error:

Same error if I write from net_test import Communicator.

Any suggestion? Where am I doing wrong?

Thanks in advance, regards

Did you restart the gateway afterwards?

Hi Kevin, I did some more tests: I coded some python in the shared library:

If the testNet() function is called in a tag Value Changed event, it works; it does not work if I call it from a button on a graphic page, even if the net_test.jar file is in the Gateway, Designer and Client folders and I restarted the gateway service.

That could be enough for me just now, but I would like to understand why it is not working in the Designer and/or Client scope.

Many thanks, regards

Ah, in order for client/designer scoped jars to get loaded you have to run the pack200 tool on the jar first. You’ll notice those directories are full of jar.pack.gz files - these are packed jars.

If you want to use the jar in all scopes, then the easiest approach is to put both a packed and unpacked copy of the jar into the lib/core/common folder.

2 Likes

Many thanks, I will give it a try.

Regards

Hallo Kevin, thank you very much: you solved my problems.
I have one more question: if my JAR library depends on another JAR library, where should I place the dependancy library?
Honestly I did not try yet: maybe it is enough to place that library in the Gateway folder too.

Thanks, regards

You would put the dependency jars in the same place.

This is great, just got some custom interface libraries to our MES working using this method. Will let me get rid of some custom scripting I built.

I have been trying to add the Apache POI jar to my gateway using this method, but when I run a button with the following code under it:

import org.apache.poi.xssf.usermodel.XSSFWorkbook

I get the following error:
Traceback (most recent call last):

File “event:mousePressed”, line 1, in

ImportError: No module named poi

Ignition v7.9.6 (b2018012914)
Java: Oracle Corporation 1.8.0_161

I have both the packed and normal jar file under the common folder for the Ignition gateway. I also restarted the gateway multiple times but nothing has changed.

Did you restart the Designer/Client? Running code in a button press is going to run it in those scopes, not the gateway.

Turn on the Java Console and launch the Client/Designer, see if your jar file is being downloaded.

Yes. I am trying to run this in the designer and I cleared the cache to see if that did anything. I will look at the Java Console.

UPDATE:
This is the console output:

Java Web Start 11.161.2.12 x86
Using JRE version 1.8.0_161-b12 Java HotSpot(TM) Client VM
User home directory = C:\Users\Brandon
----------------------------------------------------
c:   clear console window
f:   finalize objects on finalization queue
g:   garbage collect
h:   display this help message
m:   print memory usage
o:   trigger logging
p:   reload proxy configuration
q:   hide console
r:   reload policy configuration
s:   dump system and deployment properties
t:   dump thread list
v:   dump thread stack
0-5: set trace level to <n>
----------------------------------------------------
Starting Bootstrap Loader v3.0
Connect Step [attempt 1] connecting to: http://localhost:8088/main...
Downloading manifest at http://localhost:8088/main/system/launchmf/D?os=windows&arch=x86
...connect successful
Successfully downloaded launch manifest:
<?xml version="1.0" encoding="UTF-8"?>
<launch scope="D">
	<module name="" build="2018012914">
		<jar name="java-cup-10k.jar" crc="AB682326" length="32451"/>
		<jar name="commons-digester-1.8.1.jar" crc="20778438" length="42546"/>
		<jar name="miglayout-core-4.2.jar" crc="EC3CFA11" length="29128"/>
		<jar name="commons-logging-1.2.jar" crc="DB4B9A00" length="27460"/>
		<jar name="rstaui-2.5.7.jar" crc="C40EAC2B" length="35456"/>
		<jar name="commons-beanutils-1.8.3.jar" crc="86B560C6" length="61028"/>
		<jar name="metrics-core-3.1.0.jar" crc="E8CF1893" length="26710"/>
		<jar name="bcprov-jdk16-unsign-1.46.jar" crc="9AB21461" length="417043"/>
		<jar name="rhino-1.7.6.jar" crc="A101C772" length="417028"/>
		<jar name="common-7.9.6.jar" crc="8F24EDAF" length="899192"/>
		<jar name="languagesupport-2.5.7.jar" crc="8A8C9E3E" length="602083"/>
		<jar name="commons-lang3-3.3.2.jar" crc="E7839394" length="137157"/>
		<jar name="jide-components-3.5.13.jar" crc="5CB3392B" length="94429"/>
		<jar name="commons-collections-3.2.1.jar" crc="CFFAC520" length="114030"/>
		<jar name="jul-to-slf4j-1.7.21.jar" crc="503F83A" length="2381"/>
		<jar name="spellchecker-2.5.7.jar" crc="BF9D3CFF" length="32825"/>
		<jar name="core-java6-3.2.1.4.jar" crc="E8500B4B" length="172935"/>
		<jar name="jfreechart-min-1.0.0.jar" crc="B0BAA748" length="419001"/>
		<jar name="commons-io-2.1.jar" crc="37C74DE0" length="51509"/>
		<jar name="client-api-7.9.6.jar" crc="4E59286" length="899411"/>
		<jar name="designer-7.9.6.jar" crc="84117957" length="3342721"/>
		<jar name="miglayout-swing-4.2.jar" crc="6D970370" length="6570"/>
		<jar name="jide-grids-3.5.13.jar" crc="9CCD42A1" length="440549"/>
		<jar name="commons-cli-1.0.jar" crc="32913666" length="10867"/>
		<jar name="jide-shortcut-3.5.13.jar" crc="B40ED2FB" length="23027"/>
		<jar name="barcode4j-2.1.jar" crc="94F89669" length="86119"/>
		<jar name="forms-1.0.7.jar" crc="A5617906" length="26156"/>
		<jar name="jide-plaf-3.5.13.jar" crc="A98D7064" length="34271"/>
		<jar name="guava-18.0.jar" crc="34EB2E0B" length="441989"/>
		<jar name="jython-2.5.3-ia3.jar" crc="7649E30A" length="3678377"/>
		<jar name="jide-action-3.5.13.jar" crc="B6D25C2C" length="49907"/>
		<jar name="joda-time-2.3.jar" crc="C8E64FF1" length="167906"/>
		<jar name="slf4j-api-1.7.21.jar" crc="ED827065" length="13921"/>
		<jar name="jide-common-3.5.13.jar" crc="6B420921" length="368507"/>
		<jar name="rsyntaxtextarea-2.5.7.jar" crc="ACB90BF0" length="407290"/>
		<jar name="gson-2.8.0.jar" crc="F814A00" length="53881"/>
		<jar name="active-query-builder-7.9.6.jar" crc="B82FEF11" length="663771"/>
		<jar name="logback-classic-1.1.7.jar" crc="9DAED028" length="85290"/>
		<jar name="jide-dock-3.5.13.jar" crc="2E4DDA7A" length="106337"/>
		<jar name="alloy-1.4.4.ia1.jar" crc="F9EC2783" length="107335"/>
		<jar name="cron4j-2.2.3.jar" crc="433BD78" length="10242"/>
		<jar name="log4j-over-slf4j-1.7.21.jar" crc="DF2BDF66" length="6451"/>
		<jar name="jide-editor-3.5.13.jar" crc="60A2D974" length="114472"/>
		<jar name="commons-lang-1.0.jar" crc="66C5C0BA" length="21220"/>
		<jar name="jide-dialogs-3.5.13.jar" crc="93C19798" length="14532"/>
		<jar name="commons-validator-1.4.1.jar" crc="DE62627D" length="60038"/>
		<jar name="logback-core-1.1.7.jar" crc="54C09D82" length="116933"/>
		<jar name="launchclient.jar" crc="D9F8D3FD" length="298581"/>
		<jar name="autocomplete-2.5.7.jar" crc="C255B797" length="45426"/>
	</module>
	<module name="rept" build="2018012922">
		<jar name="__2740378284__commons-codec-1.10.jar" crc="F6F29A02" length="92603"/>
		<jar name="__2740378284__poi-3.14.jar" crc="960551FC" length="641921"/>
		<jar name="__2740378284__icepdf-viewer-5.0.7.jar" crc="C2459D13" length="343031"/>
		<jar name="__2740378284__reporting-common-4.9.6.jar" crc="E4B07811" length="1284883"/>
		<jar name="__2740378284__icepdf-core-5.0.7.jar" crc="84618FE2" length="812122"/>
		<jar name="__2740378284__reporting-client-4.9.6.jar" crc="7BB88178" length="1291898"/>
		<jar name="__2740378284__reporting-designer-4.9.6.jar" crc="A38B872A" length="212306"/>
		<jar name="__2740378284__tools-jar-14.9.5.jar" crc="7D9A2343" length="1353619"/>
	</module>
	<module name="xopc" build="2018012914">
		<jar name="__554585493__opc-ua-client-4.9.6.jar" crc="4A7E6ED8" length="2359"/>
		<jar name="__554585493__opc-ua-common-4.9.6.jar" crc="D415674E" length="371"/>
	</module>
	<module name="com.inductiveautomation.alarm-notification" build="2018012914">
		<jar name="__2093970431__alarm-notification-common-4.9.6.jar" crc="AE88EC42" length="5810"/>
		<jar name="__2093970431__alarm-notification-designer-4.9.6.jar" crc="6005A4F8" length="68243"/>
		<jar name="__2093970431__alarm-notification-client-4.9.6.jar" crc="97C7D16B" length="14241"/>
	</module>
	<module name="symfact" build="2018012922">
		<jar name="__4176277444__batik-gvt-1.7.jar" crc="C9895683" length="83898"/>
		<jar name="__4176277444__batik-js-1.7.jar" crc="D1EE0A69" length="175467"/>
		<jar name="__4176277444__batik-script-1.7.jar" crc="ABF8173A" length="16808"/>
		<jar name="__4176277444__commons-io-1.1.jar" crc="BB77E0F9" length="23789"/>
		<jar name="__4176277444__avalon-framework-api-4.3.1.jar" crc="4EEE66C9" length="10150"/>
		<jar name="__4176277444__avalon-framework-impl-4.3.1.jar" crc="EAFF86E2" length="21906"/>
		<jar name="__4176277444__batik-svg-dom-1.7.jar" crc="2DC49919" length="185338"/>
		<jar name="__4176277444__batik-svggen-1.7.jar" crc="1D8A6C0" length="60513"/>
		<jar name="__4176277444__fop-0.94.jar" crc="36C2E84A" length="527162"/>
		<jar name="__4176277444__batik-dom-1.7.jar" crc="51FCB23B" length="52859"/>
		<jar name="__4176277444__batik-ext-1.7.jar" crc="9CC563A2" length="4161"/>
		<jar name="__4176277444__batik-anim-1.7.jar" crc="9E7D7A6" length="32482"/>
		<jar name="__4176277444__batik-util-1.7.jar" crc="4E717E98" length="47671"/>
		<jar name="__4176277444__batik-parser-1.7.jar" crc="8BFAE4B5" length="22306"/>
		<jar name="__4176277444__batik-bridge-1.7.jar" crc="826B2C5E" length="136756"/>
		<jar name="__4176277444__vision-symbol-factory-5.9.6.jar" crc="45D1BBB4" length="28003976"/>
		<jar name="__4176277444__xmlgraphics-commons-1.2.jar" crc="AEEDA270" length="112180"/>
		<jar name="__4176277444__xml-apis-ext-1.3.04.jar" crc="A7FDB45A" length="16945"/>
		<jar name="__4176277444__batik-transcoder-1.7.jar" crc="806C6BD9" length="44860"/>
		<jar name="__4176277444__commons-logging-1.0.4.jar" crc="3AC82504" length="16945"/>
		<jar name="__4176277444__batik-css-1.7.jar" crc="DD8DFDDC" length="68047"/>
		<jar name="__4176277444__xalan-2.6.0.jar" crc="2F592412" length="828809"/>
		<jar name="__4176277444__batik-awt-util-1.7.jar" crc="1E1C1F54" length="121539"/>
		<jar name="__4176277444__batik-xml-1.7.jar" crc="C271FE9" length="14473"/>
	</module>
	<module name="fpmi" build="2018012914">
		<jar name="__4068851791__vision-common-9.9.6.jar" crc="1E7D022D" length="2083"/>
		<jar name="__4068851791__batik-gui-util-1.7.jar" crc="58062471" length="58559"/>
		<jar name="__4068851791__batik-script-1.7.jar" crc="ABF8173A" length="16808"/>
		<jar name="__4068851791__vision-designer-9.9.6.jar" crc="337FB394" length="694783"/>
		<jar name="__4068851791__httpcore-4.2.5.jar" crc="4C5EB242" length="60946"/>
		<jar name="__4068851791__batik-dom-1.7.jar" crc="51FCB23B" length="52859"/>
		<jar name="__4068851791__xalan-2.6.0.jar" crc="2F592412" length="828809"/>
		<jar name="__4068851791__batik-svg-dom-1.7.jar" crc="2DC49919" length="185338"/>
		<jar name="__4068851791__batik-swing-1.7.jar" crc="18ED17D8" length="40800"/>
		<jar name="__4068851791__httpclient-4.2.6.jar" crc="99F0E8E7" length="101082"/>
		<jar name="__4068851791__batik-gvt-1.7.jar" crc="C9895683" length="83898"/>
		<jar name="__4068851791__batik-awt-util-1.7.jar" crc="1E1C1F54" length="121539"/>
		<jar name="__4068851791__batik-css-1.7.jar" crc="DD8DFDDC" length="68047"/>
		<jar name="__4068851791__batik-bridge-1.7.jar" crc="826B2C5E" length="136756"/>
		<jar name="__4068851791__batik-ext-1.7.jar" crc="9CC563A2" length="4161"/>
		<jar name="__4068851791__vision-client-9.9.6.jar" crc="225FC48D" length="812844"/>
		<jar name="__4068851791__batik-util-1.7.jar" crc="4E717E98" length="47671"/>
		<jar name="__4068851791__batik-xml-1.7.jar" crc="C271FE9" length="14473"/>
		<jar name="__4068851791__batik-js-1.7.jar" crc="D1EE0A69" length="175467"/>
		<jar name="__4068851791__xml-apis-ext-1.3.04.jar" crc="A7FDB45A" length="16945"/>
		<jar name="__4068851791__batik-anim-1.7.jar" crc="9E7D7A6" length="32482"/>
		<jar name="__4068851791__commons-codec-1.6.jar" crc="D4695169" length="72115"/>
		<jar name="__4068851791__batik-parser-1.7.jar" crc="8BFAE4B5" length="22306"/>
		<jar name="__4068851791__commons-logging-1.1.1.jar" crc="4B09A5F" length="26691"/>
	</module>
	<module name="mobile" build="2018012914">
		<jar name="__3321195016__mobile-common-4.9.6.jar" crc="7FF7F868" length="2782"/>
		<jar name="__3321195016__mobile-client-4.9.6.jar" crc="4CDADF9B" length="1850"/>
		<jar name="__3321195016__mobile-designer-4.9.6.jar" crc="B3E2B082" length="3994"/>
	</module>
	<module name="com.inductiveautomation.sfc" build="2018012922">
		<jar name="__3209355077__sfc-designer-3.9.6.jar" crc="81CA55C6" length="99591"/>
		<jar name="__3209355077__sfc-common-3.9.6.jar" crc="AD9F0C08" length="34696"/>
		<jar name="__3209355077__sfc-client-3.9.6.jar" crc="78D43D21" length="39016"/>
	</module>
	<module name="fsql" build="2018012914">
		<jar name="__3428108744__sql-bridge-designer-8.9.6.jar" crc="8212F6AF" length="281082"/>
		<jar name="__3428108744__sql-bridge-common-8.9.6.jar" crc="D161CD3" length="25257"/>
	</module>
	<module name="com.inductiveautomation.eam" build="2018012914">
		<jar name="__690311134__eam-designer-2.9.6.jar" crc="4F83B767" length="11762"/>
		<jar name="__690311134__eam-client-2.9.6.jar" crc="2D04DD7B" length="2287"/>
		<jar name="__690311134__eam-common-2.9.6.jar" crc="698653DA" length="2350"/>
	</module>
	<module name="dnp3-driver" build="2018012914">
		<jar name="__2733477256__dnp3-common-2.9.6.jar" crc="8A368A19" length="566"/>
		<jar name="__2733477256__dnp3-designer-2.9.6.jar" crc="E51A5D74" length="735"/>
		<jar name="__2733477256__dnp3-client-2.9.6.jar" crc="94E65D3D" length="2014"/>
	</module>
	<module name="opccom" build="2018012922">
		<jar name="__779097944__opc-classic-client-4.9.6.jar" crc="FE22C2D8" length="1470"/>
		<jar name="__779097944__opc-classic-common-4.9.6.jar" crc="DF9B4684" length="2898"/>
	</module>
	<thirdPartyModules md5="e408e1cd532c40cb3a410c7cccd1d516"/>
</launch>
Claiming id in C:\Users\Brandon\.ignition\cache\gwlocalhost_8088_8043_main...
... obtaining lock
... lock obtained.
... claimed id 1
Calculated necessary downloads:
<?xml version="1.0" encoding="UTF-8"?>
<launch scope="D">
	<module name="" build="2018012914">
	</module>
	<module name="rept" build="2018012922">
	</module>
	<module name="xopc" build="2018012914">
	</module>
	<module name="com.inductiveautomation.alarm-notification" build="2018012914">
	</module>
	<module name="symfact" build="2018012922">
	</module>
	<module name="fpmi" build="2018012914">
	</module>
	<module name="mobile" build="2018012914">
	</module>
	<module name="com.inductiveautomation.sfc" build="2018012922">
	</module>
	<module name="fsql" build="2018012914">
	</module>
	<module name="com.inductiveautomation.eam" build="2018012914">
	</module>
	<module name="dnp3-driver" build="2018012914">
	</module>
	<module name="opccom" build="2018012922">
	</module>
	<thirdPartyModules md5="null"/>
</launch>
Third party Python modules downloaded.
Downloading "http://localhost:8088/main/system/translations/"...
Connect successful.
Starting download of 428 bytes
Download successful
Creating classloader with JAR files: [file:/C:/Users/Brandon/.ignition/cache/resources/platform/java-cup-10k.jar/00000000AB682326/java-cup-10k.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/commons-digester-1.8.1.jar/0000000020778438/commons-digester-1.8.1.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/miglayout-core-4.2.jar/00000000EC3CFA11/miglayout-core-4.2.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/commons-logging-1.2.jar/00000000DB4B9A00/commons-logging-1.2.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/rstaui-2.5.7.jar/00000000C40EAC2B/rstaui-2.5.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/commons-beanutils-1.8.3.jar/0000000086B560C6/commons-beanutils-1.8.3.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/metrics-core-3.1.0.jar/00000000E8CF1893/metrics-core-3.1.0.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/bcprov-jdk16-unsign-1.46.jar/000000009AB21461/bcprov-jdk16-unsign-1.46.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/rhino-1.7.6.jar/00000000A101C772/rhino-1.7.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/common-7.9.6.jar/000000008F24EDAF/common-7.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/languagesupport-2.5.7.jar/000000008A8C9E3E/languagesupport-2.5.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/commons-lang3-3.3.2.jar/00000000E7839394/commons-lang3-3.3.2.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/jide-components-3.5.13.jar/000000005CB3392B/jide-components-3.5.13.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/commons-collections-3.2.1.jar/00000000CFFAC520/commons-collections-3.2.1.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/jul-to-slf4j-1.7.21.jar/000000000503F83A/jul-to-slf4j-1.7.21.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/spellchecker-2.5.7.jar/00000000BF9D3CFF/spellchecker-2.5.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/core-java6-3.2.1.4.jar/00000000E8500B4B/core-java6-3.2.1.4.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/jfreechart-min-1.0.0.jar/00000000B0BAA748/jfreechart-min-1.0.0.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/commons-io-2.1.jar/0000000037C74DE0/commons-io-2.1.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/client-api-7.9.6.jar/0000000004E59286/client-api-7.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/designer-7.9.6.jar/0000000084117957/designer-7.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/miglayout-swing-4.2.jar/000000006D970370/miglayout-swing-4.2.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/jide-grids-3.5.13.jar/000000009CCD42A1/jide-grids-3.5.13.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/commons-cli-1.0.jar/0000000032913666/commons-cli-1.0.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/jide-shortcut-3.5.13.jar/00000000B40ED2FB/jide-shortcut-3.5.13.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/barcode4j-2.1.jar/0000000094F89669/barcode4j-2.1.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/forms-1.0.7.jar/00000000A5617906/forms-1.0.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/jide-plaf-3.5.13.jar/00000000A98D7064/jide-plaf-3.5.13.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/guava-18.0.jar/0000000034EB2E0B/guava-18.0.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/jython-2.5.3-ia3.jar/000000007649E30A/jython-2.5.3-ia3.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/jide-action-3.5.13.jar/00000000B6D25C2C/jide-action-3.5.13.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/joda-time-2.3.jar/00000000C8E64FF1/joda-time-2.3.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/slf4j-api-1.7.21.jar/00000000ED827065/slf4j-api-1.7.21.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/jide-common-3.5.13.jar/000000006B420921/jide-common-3.5.13.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/rsyntaxtextarea-2.5.7.jar/00000000ACB90BF0/rsyntaxtextarea-2.5.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/gson-2.8.0.jar/000000000F814A00/gson-2.8.0.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/active-query-builder-7.9.6.jar/00000000B82FEF11/active-query-builder-7.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/logback-classic-1.1.7.jar/000000009DAED028/logback-classic-1.1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/jide-dock-3.5.13.jar/000000002E4DDA7A/jide-dock-3.5.13.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/alloy-1.4.4.ia1.jar/00000000F9EC2783/alloy-1.4.4.ia1.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/cron4j-2.2.3.jar/000000000433BD78/cron4j-2.2.3.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/log4j-over-slf4j-1.7.21.jar/00000000DF2BDF66/log4j-over-slf4j-1.7.21.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/jide-editor-3.5.13.jar/0000000060A2D974/jide-editor-3.5.13.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/commons-lang-1.0.jar/0000000066C5C0BA/commons-lang-1.0.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/jide-dialogs-3.5.13.jar/0000000093C19798/jide-dialogs-3.5.13.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/commons-validator-1.4.1.jar/00000000DE62627D/commons-validator-1.4.1.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/logback-core-1.1.7.jar/0000000054C09D82/logback-core-1.1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/platform/autocomplete-2.5.7.jar/00000000C255B797/autocomplete-2.5.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/rept/__2740378284__commons-codec-1.10.jar/00000000F6F29A02/__2740378284__commons-codec-1.10.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/rept/__2740378284__poi-3.14.jar/00000000960551FC/__2740378284__poi-3.14.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/rept/__2740378284__icepdf-viewer-5.0.7.jar/00000000C2459D13/__2740378284__icepdf-viewer-5.0.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/rept/__2740378284__reporting-common-4.9.6.jar/00000000E4B07811/__2740378284__reporting-common-4.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/rept/__2740378284__icepdf-core-5.0.7.jar/0000000084618FE2/__2740378284__icepdf-core-5.0.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/rept/__2740378284__reporting-client-4.9.6.jar/000000007BB88178/__2740378284__reporting-client-4.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/rept/__2740378284__reporting-designer-4.9.6.jar/00000000A38B872A/__2740378284__reporting-designer-4.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/rept/__2740378284__tools-jar-14.9.5.jar/000000007D9A2343/__2740378284__tools-jar-14.9.5.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/xopc/__554585493__opc-ua-client-4.9.6.jar/000000004A7E6ED8/__554585493__opc-ua-client-4.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/xopc/__554585493__opc-ua-common-4.9.6.jar/00000000D415674E/__554585493__opc-ua-common-4.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/com.inductiveautomation.alarm-notification/__2093970431__alarm-notification-common-4.9.6.jar/00000000AE88EC42/__2093970431__alarm-notification-common-4.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/com.inductiveautomation.alarm-notification/__2093970431__alarm-notification-designer-4.9.6.jar/000000006005A4F8/__2093970431__alarm-notification-designer-4.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/com.inductiveautomation.alarm-notification/__2093970431__alarm-notification-client-4.9.6.jar/0000000097C7D16B/__2093970431__alarm-notification-client-4.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-gvt-1.7.jar/00000000C9895683/__4176277444__batik-gvt-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-js-1.7.jar/00000000D1EE0A69/__4176277444__batik-js-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-script-1.7.jar/00000000ABF8173A/__4176277444__batik-script-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__commons-io-1.1.jar/00000000BB77E0F9/__4176277444__commons-io-1.1.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__avalon-framework-api-4.3.1.jar/000000004EEE66C9/__4176277444__avalon-framework-api-4.3.1.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__avalon-framework-impl-4.3.1.jar/00000000EAFF86E2/__4176277444__avalon-framework-impl-4.3.1.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-svg-dom-1.7.jar/000000002DC49919/__4176277444__batik-svg-dom-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-svggen-1.7.jar/0000000001D8A6C0/__4176277444__batik-svggen-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__fop-0.94.jar/0000000036C2E84A/__4176277444__fop-0.94.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-dom-1.7.jar/0000000051FCB23B/__4176277444__batik-dom-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-ext-1.7.jar/000000009CC563A2/__4176277444__batik-ext-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-anim-1.7.jar/0000000009E7D7A6/__4176277444__batik-anim-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-util-1.7.jar/000000004E717E98/__4176277444__batik-util-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-parser-1.7.jar/000000008BFAE4B5/__4176277444__batik-parser-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-bridge-1.7.jar/00000000826B2C5E/__4176277444__batik-bridge-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__vision-symbol-factory-5.9.6.jar/0000000045D1BBB4/__4176277444__vision-symbol-factory-5.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__xmlgraphics-commons-1.2.jar/00000000AEEDA270/__4176277444__xmlgraphics-commons-1.2.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__xml-apis-ext-1.3.04.jar/00000000A7FDB45A/__4176277444__xml-apis-ext-1.3.04.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-transcoder-1.7.jar/00000000806C6BD9/__4176277444__batik-transcoder-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__commons-logging-1.0.4.jar/000000003AC82504/__4176277444__commons-logging-1.0.4.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-css-1.7.jar/00000000DD8DFDDC/__4176277444__batik-css-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__xalan-2.6.0.jar/000000002F592412/__4176277444__xalan-2.6.0.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-awt-util-1.7.jar/000000001E1C1F54/__4176277444__batik-awt-util-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/symfact/__4176277444__batik-xml-1.7.jar/000000000C271FE9/__4176277444__batik-xml-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__vision-common-9.9.6.jar/000000001E7D022D/__4068851791__vision-common-9.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-gui-util-1.7.jar/0000000058062471/__4068851791__batik-gui-util-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-script-1.7.jar/00000000ABF8173A/__4068851791__batik-script-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__vision-designer-9.9.6.jar/00000000337FB394/__4068851791__vision-designer-9.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__httpcore-4.2.5.jar/000000004C5EB242/__4068851791__httpcore-4.2.5.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-dom-1.7.jar/0000000051FCB23B/__4068851791__batik-dom-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__xalan-2.6.0.jar/000000002F592412/__4068851791__xalan-2.6.0.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-svg-dom-1.7.jar/000000002DC49919/__4068851791__batik-svg-dom-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-swing-1.7.jar/0000000018ED17D8/__4068851791__batik-swing-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__httpclient-4.2.6.jar/0000000099F0E8E7/__4068851791__httpclient-4.2.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-gvt-1.7.jar/00000000C9895683/__4068851791__batik-gvt-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-awt-util-1.7.jar/000000001E1C1F54/__4068851791__batik-awt-util-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-css-1.7.jar/00000000DD8DFDDC/__4068851791__batik-css-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-bridge-1.7.jar/00000000826B2C5E/__4068851791__batik-bridge-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-ext-1.7.jar/000000009CC563A2/__4068851791__batik-ext-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__vision-client-9.9.6.jar/00000000225FC48D/__4068851791__vision-client-9.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-util-1.7.jar/000000004E717E98/__4068851791__batik-util-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-xml-1.7.jar/000000000C271FE9/__4068851791__batik-xml-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-js-1.7.jar/00000000D1EE0A69/__4068851791__batik-js-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__xml-apis-ext-1.3.04.jar/00000000A7FDB45A/__4068851791__xml-apis-ext-1.3.04.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-anim-1.7.jar/0000000009E7D7A6/__4068851791__batik-anim-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__commons-codec-1.6.jar/00000000D4695169/__4068851791__commons-codec-1.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__batik-parser-1.7.jar/000000008BFAE4B5/__4068851791__batik-parser-1.7.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fpmi/__4068851791__commons-logging-1.1.1.jar/0000000004B09A5F/__4068851791__commons-logging-1.1.1.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/mobile/__3321195016__mobile-common-4.9.6.jar/000000007FF7F868/__3321195016__mobile-common-4.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/mobile/__3321195016__mobile-client-4.9.6.jar/000000004CDADF9B/__3321195016__mobile-client-4.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/mobile/__3321195016__mobile-designer-4.9.6.jar/00000000B3E2B082/__3321195016__mobile-designer-4.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/com.inductiveautomation.sfc/__3209355077__sfc-designer-3.9.6.jar/0000000081CA55C6/__3209355077__sfc-designer-3.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/com.inductiveautomation.sfc/__3209355077__sfc-common-3.9.6.jar/00000000AD9F0C08/__3209355077__sfc-common-3.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/com.inductiveautomation.sfc/__3209355077__sfc-client-3.9.6.jar/0000000078D43D21/__3209355077__sfc-client-3.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fsql/__3428108744__sql-bridge-designer-8.9.6.jar/000000008212F6AF/__3428108744__sql-bridge-designer-8.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/fsql/__3428108744__sql-bridge-common-8.9.6.jar/000000000D161CD3/__3428108744__sql-bridge-common-8.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/com.inductiveautomation.eam/__690311134__eam-designer-2.9.6.jar/000000004F83B767/__690311134__eam-designer-2.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/com.inductiveautomation.eam/__690311134__eam-client-2.9.6.jar/000000002D04DD7B/__690311134__eam-client-2.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/com.inductiveautomation.eam/__690311134__eam-common-2.9.6.jar/00000000698653DA/__690311134__eam-common-2.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/dnp3-driver/__2733477256__dnp3-common-2.9.6.jar/000000008A368A19/__2733477256__dnp3-common-2.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/dnp3-driver/__2733477256__dnp3-designer-2.9.6.jar/00000000E51A5D74/__2733477256__dnp3-designer-2.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/dnp3-driver/__2733477256__dnp3-client-2.9.6.jar/0000000094E65D3D/__2733477256__dnp3-client-2.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/opccom/__779097944__opc-classic-client-4.9.6.jar/00000000FE22C2D8/__779097944__opc-classic-client-4.9.6.jar, file:/C:/Users/Brandon/.ignition/cache/resources/modules/opccom/__779097944__opc-classic-common-4.9.6.jar/00000000DF9B4684/__779097944__opc-classic-common-4.9.6.jar]
Starting class: com.inductiveautomation.ignition.designer.DesignerStartupHook
15:17:14.254 [Thread-12] INFO com.inductiveautomation.ignition.client.gateway_interface.GatewayConnectionManager - Initializing gateway connection with URLs: [http://localhost:8088/main]
15:17:14.305 [Thread-12] INFO com.inductiveautomation.ignition.client.util.gui.progress.ClientProgressManager - Progress manager started.

I see poi-3.14 but not the poi-3.17 I added to the common folder.

Another possibility that is unique to your situation (trying to load Apache POI of all things…) is that the Reporting module already depends on an older version of POI (3.14), and since the class path is flat in the Client/Designer scopes there’s no guarantee that your POI takes priority over the POI from Reporting (or the other way around - DANGER!).

So, if you have the Reporting module installed, try uninstalling that…

Does the POI jar that is loaded for reporting have all of the classes available? The whole reason I want to load the latest version is that I cannot use the XSSFWorkbook class.

It has whatever comes in version 3.14.

edit: which doesn’t appear to include the class or even package you’re talking about.

How did you figure out what packages are included in that version?

Also, If I imported the classes I wanted in a scripting module, would they be available to the client and designer then?

I just unzipped the jar file for that version and looked.

You're going to run into the same potential conflict as long as the Reporting module is installed. You've hit a weird corner case in the architecture of the Client and Designer and its flat class path.

If you loaded POI in the Gateway scope and all your interactions with the library took place there you'd be okay.

Hi Kevin, i see your post about this issue, but i have a problem. I followed your suggestions locate my jar file in folder /lib/core/common, restart de ignition gateway an restart design client, but when trying import class in designer script with python script shows an error.

the class is asterisk-java-2.0.3.jar

code phyton i use is simple

def Asterisk():
from igniotionphone import HelloManager
originate = HelloManager().run

call= Asterisk()

this error send

Traceback (most recent call last):

File “event:actionPerformed”, line 5, in

File “event:actionPerformed”, line 2, in Asterisk

ImportError: No module named igniotionphone

I do not think you have the same issue. There is no path in that jar for igniotionphone, you need to import from the full class path.