# OPC UA Node error

**URL:** <https://forum.inductiveautomation.com/t/opc-ua-node-error/43608>\
**Category:** Module Development\
**Tags:** ignition80\
**Created:** [February 19, 2021, 11:06am UTC](https://forum.inductiveautomation.com/t/opc-ua-node-error/43608 "2021-02-19T11:06:44Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![oisin.gribben](https://avatars.discourse-cdn.com/v4/letter/o/9d8465/32.png) [@oisin.gribben](https://forum.inductiveautomation.com/u/oisin.gribben)\
**Post date:** [February 19, 2021, 11:06am UTC](https://forum.inductiveautomation.com/t/opc-ua-node-error/43608/1 "2021-02-19T11:06:44Z")

</div>

Hi,

We have a Module that has been running on our projects for few years but we have noticed that since we updated ignition to 8.1 we receive this error.

```auto
Caused by: java.lang.ClassNotFoundException: org.eclipse.milo.opcua.sdk.server.api.nodes.Node

```

Has something changed to kick up this error?

---

<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:** [February 19, 2021, 1:08pm UTC](https://forum.inductiveautomation.com/t/opc-ua-node-error/43608/2 "2021-02-19T13:08:53Z")

</div>

Yes. It may be as simple as recompiling your module with v8.1 dependencies. See this discussion:

> [@Automation Professionals' Image Streamer Driver Module](http://forum.inductiveautomation.com/t/automation-professionals-image-streamer-driver-module/29371/34):
>
> Yes, turns out there was a binary incompatible change. You need to recompile against the 8.1 SDK (so you compile against Milo 0.5). It’s pretty interesting. It starts with this change: [https://github.com/eclipse/milo/commit/1f19f5eb6fb2d553e544a0ee45212c1b566e7e94](https://github.com/eclipse/milo/commit/1f19f5eb6fb2d553e544a0ee45212c1b566e7e94) This in itself would be an API incompatible change, when used directly, but that’s not what got you. The [NodeManager interface](https://github.com/eclipse/milo/blob/6e10014c4fb2c7aae6ddcc7eea3f35ff4400d6e6/opc-ua-sdk/sdk-server/src/main/java/org/eclipse/milo/opcua/sdk/server/api/NodeManager.java#L24) takes a type parameter T that has an upper bound on the previously mentioned Node interface that changed …

---

<div class="post-metadata">

**Author:** ![oisin.gribben](https://avatars.discourse-cdn.com/v4/letter/o/9d8465/32.png) [@oisin.gribben](https://forum.inductiveautomation.com/u/oisin.gribben)\
**Post date:** [March 1, 2021, 4:55pm UTC](https://forum.inductiveautomation.com/t/opc-ua-node-error/43608/4 "2021-03-01T16:55:58Z")

</div>

With the SDK change, is that this part of the code?

```auto
<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <ignition-sdk-version>8.1.0</ignition-sdk-version>
</properties>

```

---

<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:** [March 1, 2021, 7:52pm UTC](https://forum.inductiveautomation.com/t/opc-ua-node-error/43608/5 "2021-03-01T19:52:22Z")

</div>

Presumably. I don’t use maven, so my build environment is totally different.

---

<div class="post-metadata">

**Author:** ![oisin.gribben](https://avatars.discourse-cdn.com/v4/letter/o/9d8465/32.png) [@oisin.gribben](https://forum.inductiveautomation.com/u/oisin.gribben)\
**Post date:** [March 9, 2021, 4:11pm UTC](https://forum.inductiveautomation.com/t/opc-ua-node-error/43608/6 "2021-03-09T16:11:43Z")

</div>

I’ve updated the SDK to 8.1.0 but i’m still getting the same error.

```auto
java.lang.NoClassDefFoundError: org/eclipse/milo/opcua/sdk/server/api/nodes/Node

at com.hanleyenergy.drivers.modbus.configuration.ModbusTcpDriverType.createDriver(ModbusTcpDriverType.java:61)

at com.inductiveautomation.ignition.gateway.opcua.server.DriverAdapter.startup(DriverAdapter.kt:128)

at com.inductiveautomation.ignition.gateway.opcua.server.DeviceManager$DeviceAddressSpace.startup(DeviceManager.kt:331)

at com.inductiveautomation.ignition.gateway.opcua.server.DeviceManager.createAndStartupDevice(DeviceManager.kt:194)

at com.inductiveautomation.ignition.gateway.opcua.server.DeviceManager.access$createAndStartupDevice(DeviceManager.kt:43)

at com.inductiveautomation.ignition.gateway.opcua.server.DeviceManager$DeviceSettingsRecordListener$recordUpdated$1.invokeSuspend(DeviceManager.kt:286)

```

---

<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:** [March 9, 2021, 4:26pm UTC](https://forum.inductiveautomation.com/t/opc-ua-node-error/43608/7 "2021-03-09T16:26:40Z")

</div>

Did you recompile your module? Something isn’t right here because you still have code that references a package that no longer exists.

---

<div class="post-metadata">

**Author:** ![oisin.gribben](https://avatars.discourse-cdn.com/v4/letter/o/9d8465/32.png) [@oisin.gribben](https://forum.inductiveautomation.com/u/oisin.gribben)\
**Post date:** [March 9, 2021, 4:32pm UTC](https://forum.inductiveautomation.com/t/opc-ua-node-error/43608/8 "2021-03-09T16:32:00Z")

</div>

I recompiled and resigned it after i made the changes

```auto
<properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <ignition-sdk-version>8.1.0</ignition-sdk-version>
</properties>

```

This is the correct piece to change ?

---

<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:** [March 9, 2021, 4:33pm UTC](https://forum.inductiveautomation.com/t/opc-ua-node-error/43608/9 "2021-03-09T16:33:55Z")

</div>

It’s a great candidate, but I couldn’t tell you anything definitively without seeing your entire project.

You may also simply have old dependencies being added inside your module that gets built as a result of not cleaning first (`mvn clean`).

---

<div class="post-metadata">

**Author:** ![oisin.gribben](https://avatars.discourse-cdn.com/v4/letter/o/9d8465/32.png) [@oisin.gribben](https://forum.inductiveautomation.com/u/oisin.gribben)\
**Post date:** [March 9, 2021, 5:16pm UTC](https://forum.inductiveautomation.com/t/opc-ua-node-error/43608/10 "2021-03-09T17:16:16Z")

</div>

This lead me to the real issue.  
The AccessLevel class has been changed with the recent milo update.  
They changed the ‘getMask’ function
