== Camel Basic Example

=== Introduction

This is a very basic example that shows how to get started with Camel.

This example shows you that Camel can be used in standalone mode
as a `_public static void main_` application.

The example has only 1 java file in the link:../basic/src/main/java/org/apache/camel/example/basic/CamelBasic.java[`CamelBasic.java`] located in the src folder.
There is code comments explaining in more details.

=== Build

You will need to compile this example first:

[source,sh]
----
$ mvn compile
----

=== Run

To run the example type

[source,sh]
----
$ mvn camel:run
----

To stop the example hit `ctrl+c`

You can also run the example from your editor such as Eclipse, IDEA etc,
by opening the class link:../basic/src/main/java/org/apache/camel/example/basic/CamelBasic.java[org.apache.camel.example.basic.CamelBasic.java]
and then right click, and chose run java application.

=== Help and contributions

If you hit any problem using Camel or have some feedback, then please
https://camel.apache.org/community/support/[let us know].

We also love contributors, so
https://camel.apache.org/community/contributing/[get involved] :-)

The Camel riders!
