Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: INS troubleshooting for missing libs

...

Note: Working directories get created relative to the current directory. For the working directories to be created in the proper place, ServiceMix must be launched from its home/installation directory.

Troubleshooting

In case you get a

No Format

Exception in thread "main" java.lang.IllegalArgumentException

you may have some illegal characters in the path, e.g. !, % etc.

On Unix

From a command shell, change to the installation directory and run ServiceMix. For the binary distribution, go to

...

Warning
titleWarning

Do NOT close the console or shell in which ServiceMix was started, as that will terminate ServiceMix (unless ServiceMix was started with nohup).

Troubleshooting for Unix

If the servicemix start-up script is not executable, change its permisssions. The servicemix script is located in the bin directory. For example:

Code Block
chmod 755 bin/servicemix

Troubleshooting

Path name

In case you get a

No Format
Exception in thread "main" java.lang.IllegalArgumentException

you may have some illegal characters in the path, e.g. !, % etc.

Missing libraries

Starting ServiceMix with old examples, CIMERO-generated xml configuration files or custom code may cause errors due to missing libraries. Usually, the missing class is displayed at the very end of the output. Here, some examples are shown and explained.

Panel

Caused by: java.lang.NoClassDefFoundError: org/quartz/JobExecutionException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:242)
    at org.springframework.util.ClassUtils.forName(ClassUtils.java:160)
    at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition(BeanDefinitionReaderUtils.java:95)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:452)
    ... 53 more

Wiki Markup
Obviously (bold typed text), a class inside the quartz package cannot be found. A quick search for "quartz" in the Maven repository reveals _\[user_home\]\.m2\repository\quartz\quartz\1.5.2\quartz-1.5.2.jar_ (or newer version) which has to be copied to _\[ServiceMix_home\]\lib\quartz-1.5.2.jar_ \- the error shall be resolved now. Of course, adding the directory containing the jar to the classpath is another possibility.

Very similar is

Panel

...
Caused by: java.lang.ClassNotFoundException: org.apache.servicemix.components.file.FileWriter
...

indicating that the whole servicemix-common package cannot be found. In the Maven repository, servicemix-components-3.0-incubating.jar (or newer version) can be found and copied to ServiceMix' lib directory.

Slightly trickier is 

Code Block

...
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unrecognized xbean namespace mapping: http://servicemix.apache.org/eip/1.0
...

Wiki Markup
A short www search leads to [SM:Unrecognized xbean namespace mapping]. With this information, one can infer that _\[user_home\]\.m2\repository\org\apache\servicemix\servicemix-eip\3.0-incubating\servicemix-eip-3.0-incubating.jar_ (or newer version) has to be copied to _\[ServiceMix_home\]\lib\servicemix-eip-3.0-incubating.jar_ so ServiceMix can find the classes.

Testing the Installation

If ServiceMix is up and running without problems, the Window's console window or the Unix command shell will display something similar to the following log line:

...