# Custom component

**URL:** <https://forum.cloverdx.com/t/custom-component/1475>\
**Category:** CloverDX Platform\
**Created:** [September 8, 2014, 12:00am UTC](https://forum.cloverdx.com/t/custom-component/1475 "2014-09-08T00:00:00Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![paglioni](https://avatars.discourse-cdn.com/v4/letter/p/53a042/32.png) [@paglioni](https://forum.cloverdx.com/u/paglioni)\
**Post date:** [September 8, 2014, 12:00am UTC](https://forum.cloverdx.com/t/custom-component/1475/1 "2014-09-08T00:00:00Z")

</div>

I tried to modify the pre-built project [http://www.cloveretl.com/blog/wp-conten … mplate.zip](http://www.cloveretl.com/blog/wp-content/uploads/2013/11/CloverETL-Custom-Component-Template.zip), simply changing the message in output but I have the error:

INFO [main] - \*\*\* CloverETL framework/transformation graph, (c) 2002-2014 Javlin a.s. \*\*\*  
INFO [main] - Running with CloverETL library version 3.5.0 build#058 compiled 03/02/2014 14:20:28  
INFO [main] - Running on 4 CPU(s), OS Windows 7, architecture amd64, Java version 1.7.0\_11, max available memory for JVM 857472 KB  
INFO [main] - Loading default properties from: defaultProperties  
INFO [main] - Graph definition file: graph/testHelloWorld.grf  
ERROR [main] - Error in reading graph from XML !  
Unknown component: HELLO\_WORLD class: HELLO\_WORLD  
ERROR [main] - Error details:  
org.jetel.exception.XMLConfigurationException  
at org.jetel.graph.TransformationGraphXMLReaderWriter.throwXMLConfigurationException(TransformationGraphXMLReaderWriter.java:1117)  
at org.jetel.graph.TransformationGraphXMLReaderWriter.instantiatePhases(TransformationGraphXMLReaderWriter.java:533)  
at org.jetel.graph.TransformationGraphXMLReaderWriter.read(TransformationGraphXMLReaderWriter.java:417)  
at org.jetel.graph.TransformationGraphXMLReaderWriter.read(TransformationGraphXMLReaderWriter.java:317)  
at org.jetel.graph.TransformationGraphXMLReaderWriter.loadGraph(TransformationGraphXMLReaderWriter.java:247)  
at org.jetel.main.runGraph.main(runGraph.java:402)  
Caused by: org.jetel.exception.XMLConfigurationException  
at org.jetel.graph.TransformationGraphXMLReaderWriter.throwXMLConfigurationException(TransformationGraphXMLReaderWriter.java:1117)  
at org.jetel.graph.TransformationGraphXMLReaderWriter.throwXMLConfigurationException(TransformationGraphXMLReaderWriter.java:1112)  
at org.jetel.graph.TransformationGraphXMLReaderWriter.instantiateNodes(TransformationGraphXMLReaderWriter.java:586)  
at org.jetel.graph.TransformationGraphXMLReaderWriter.instantiatePhases(TransformationGraphXMLReaderWriter.java:527)  
… 4 more  
Caused by: java.lang.RuntimeException: Unknown component: HELLO\_WORLD class: HELLO\_WORLD  
at org.jetel.component.ComponentFactory.getComponentClass(ComponentFactory.java:111)  
at org.jetel.component.ComponentFactory.createComponent(ComponentFactory.java:128)  
at org.jetel.graph.TransformationGraphXMLReaderWriter.instantiateNodes(TransformationGraphXMLReaderWriter.java:571)  
… 5 more  
Caused by: java.lang.ClassNotFoundException: HELLO\_WORLD  
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)  
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)  
at java.security.AccessController.doPrivileged(Native Method)  
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)  
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)  
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)  
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)  
at java.lang.Class.forName0(Native Method)  
at java.lang.Class.forName(Class.java:186)  
at org.jetel.component.ComponentFactory.getComponentClass(ComponentFactory.java:101)  
… 7 more

ERROR [main] -  
--------------------------------- Error details ----------------------------------  
Error in reading graph from XML !  
Unknown component: HELLO\_WORLD class: HELLO\_WORLD  
----------------------------------------------------------------------------------

Can you help me?  
Thanks  
Sara

---

<div class="post-metadata">

**Author:** ![novakj](https://avatars.discourse-cdn.com/v4/letter/n/47e85d/32.png) [@novakj](https://forum.cloverdx.com/u/novakj)\
**Post date:** [September 10, 2014, 1:51pm UTC](https://forum.cloverdx.com/t/custom-component/1475/2 "2014-09-10T13:51:50Z")

</div>

Hello,

There is a section called “_If you want to make changes…_” in the [blog article](http://www.cloveretl.com/blog/creating-your-own-component-in-cloveretl-step-by-step/). When you have made some changes in your custom component, please follow these instructions.

> If you want to make changes…
> 
> - If you want to change the component behavior, edit **HelloWorldComponent.java**.  
> Remember, in this case you will need to **perform steps 17 through 21**
> 
> - Component descriptor for Engine: **com.cloveretl.customcomponent\plugin.xml**.  
> Remember, if you change this file you will need to **perform steps 17 through 21**
> 
> - Component descriptor for Designer: **com.cloveretl.designer.customcomponent\customcomponent.xml**.  
> Remember, if you change only this file you will just need to **perform step 21**
