# New Project via DesignerClient Archetype

**URL:** <https://forum.inductiveautomation.com/t/new-project-via-designerclient-archetype/57267>\
**Category:** Module Development\
**Tags:** ignition81\
**Created:** [March 16, 2022, 4:02pm UTC](https://forum.inductiveautomation.com/t/new-project-via-designerclient-archetype/57267 "2022-03-16T16:02:42Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![stevenson](https://avatars.discourse-cdn.com/v4/letter/s/41988e/32.png) [@stevenson](https://forum.inductiveautomation.com/u/stevenson)\
**Post date:** [March 16, 2022, 4:02pm UTC](https://forum.inductiveautomation.com/t/new-project-via-designerclient-archetype/57267/1 "2022-03-16T16:02:42Z")

</div>

I feel like I must be missing something obvious. I started a new IntelliJ project using:

> **[Maven Central Repository Search](https://search.maven.org/artifact/com.inductiveautomation.ignitionsdk/vision-component-archetype/1.2.0/maven-archetype)**
>
> Official search by the maintainers of Maven Central Repository

After building the modl out of the box and installing it, then using it in designer- the console prints:

```auto
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at com.inductiveautomation.factorypmi.designer.property.editors.bb.SwingEnumEditor.setValue(SwingEnumEditor.java:79)
	at com.inductiveautomation.factorypmi.designer.property.editors.IntegerEditor.setValue(IntegerEditor.java:85)
	at com.inductiveautomation.factorypmi.designer.property.propertytable.PropertyValueEditor.getTableCellEditorComponent(PropertyValueEditor.java:154)
	at com.inductiveautomation.factorypmi.designer.property.propertytable.PropertyValueEditor.getTableCellRendererComponent(PropertyValueEditor.java:91)
	at com.jidesoft.grid.JideTable.a(Unknown Source)
	at com.jidesoft.grid.CellStyleTable.a(Unknown Source)
	at com.jidesoft.grid.JideTable.b(Unknown Source)
	at com.jidesoft.grid.CellSpanTable.calculateRowHeight(Unknown Source)
	at com.jidesoft.grid.JideTable.c(Unknown Source)
	at com.jidesoft.grid.JideTable.getCellRect(Unknown Source)
	at com.jidesoft.grid.CellSpanTable.getCellRect(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicTableUI.createTableSize(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicTableUI.getPreferredSize(Unknown Source)
	at java.desktop/javax.swing.JComponent.getPreferredSize(Unknown Source)
	at java.desktop/javax.swing.ScrollPaneLayout.preferredLayoutSize(Unknown Source)
	at java.desktop/java.awt.Container.preferredSize(Unknown Source)
	at java.desktop/java.awt.Container.getPreferredSize(Unknown Source)
	at java.desktop/javax.swing.JComponent.getPreferredSize(Unknown Source)
	at java.desktop/java.awt.BorderLayout.preferredLayoutSize(Unknown Source)
	at java.desktop/java.awt.Container.preferredSize(Unknown Source)
	at java.desktop/java.awt.Container.getPreferredSize(Unknown Source)
	at java.desktop/javax.swing.JComponent.getPreferredSize(Unknown Source)
	at com.jidesoft.swing.JideBoxLayout.getPreferredSizeOf(Unknown Source)
	at com.jidesoft.swing.JideBoxLayout.calculateComponentSizes(Unknown Source)
	at com.jidesoft.swing.JideSplitPaneLayout.calculateComponentSizes(Unknown Source)
	at com.jidesoft.swing.JideBoxLayout.layoutContainer(Unknown Source)
	at java.desktop/java.awt.Container.layout(Unknown Source)
	at java.desktop/java.awt.Container.doLayout(Unknown Source)
	at com.jidesoft.swing.JideSplitPane.doLayout(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validateTree(Unknown Source)
	at java.desktop/java.awt.Container.validate(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$3.run(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$3.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/javax.swing.RepaintManager.validateInvalidComponents(Unknown Source)
	at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(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.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)
```

I’m using Oracle JDK11 for my IDE- any ideas?

---

<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 16, 2022, 4:06pm UTC](https://forum.inductiveautomation.com/t/new-project-via-designerclient-archetype/57267/2 "2022-03-16T16:06:04Z")

</div>

I doubt anybody has tried to use this since it was last modified 3 years ago… or longer.

---

<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 16, 2022, 4:07pm UTC](https://forum.inductiveautomation.com/t/new-project-via-designerclient-archetype/57267/3 "2022-03-16T16:07:28Z")

</div>

Does this archetype even generate any client/designer code other than the hook?

edit: ah, your title says “DesignerClient Archetype”, which I took to mean the “client-designer-gateway” archetype, not the “vision-component” archetype.

---

<div class="post-metadata">

**Author:** ![stevenson](https://avatars.discourse-cdn.com/v4/letter/s/41988e/32.png) [@stevenson](https://forum.inductiveautomation.com/u/stevenson)\
**Post date:** [March 16, 2022, 4:30pm UTC](https://forum.inductiveautomation.com/t/new-project-via-designerclient-archetype/57267/4 "2022-03-16T16:30:22Z")

</div>

Oops yea vision component archetype.

The Github example project builds okay, but comparing the two projects side by side, I didn’t see anything obvious in difference.

---

<div class="post-metadata">

**Author:** ![stevenson](https://avatars.discourse-cdn.com/v4/letter/s/41988e/32.png) [@stevenson](https://forum.inductiveautomation.com/u/stevenson)\
**Post date:** [March 16, 2022, 6:28pm UTC](https://forum.inductiveautomation.com/t/new-project-via-designerclient-archetype/57267/5 "2022-03-16T18:28:23Z")

</div>

I tried copying all of my resources into the github vision component example and everything works correctly from there. I guess something in the project configuration between the GH project and the archetype?

---

<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 16, 2022, 6:34pm UTC](https://forum.inductiveautomation.com/t/new-project-via-designerclient-archetype/57267/6 "2022-03-16T18:34:27Z")

</div>

Yeah, maybe something about the module XML?

---

<div class="post-metadata">

**Author:** ![stevenson](https://avatars.discourse-cdn.com/v4/letter/s/41988e/32.png) [@stevenson](https://forum.inductiveautomation.com/u/stevenson)\
**Post date:** [March 16, 2022, 6:45pm UTC](https://forum.inductiveautomation.com/t/new-project-via-designerclient-archetype/57267/7 "2022-03-16T18:45:00Z")

</div>

The module.xml found in the modl file? Both look identical (short of the package names)

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/2/0/20beff65c2a2d64481d8a9d273a45cee9ad77ecd.png)

---

<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 16, 2022, 6:45pm UTC](https://forum.inductiveautomation.com/t/new-project-via-designerclient-archetype/57267/8 "2022-03-16T18:45:59Z")

</div>

Hmm, not sure then. We’ll have to take a closer look at it some time and figure out what’s wrong.
