Hi Peter,
The missing file is, as you pointed it, the 1.0 file that is generated.
We can not include it in the source distribution, as it is generated, but
you can grab it downloading the binary jar and extracting it.
You can also generate it using the "xsdGenerate" ant targets included in
the core/maven.xml.
This must be done just after compiling of the core module.
Cheers,
Guillaume Nodet
Peter Smith wrote:
Hi,
I tried to build ServiceMix 2.0.2 from source code but instead of the
maven builds I just wrote my own small ant script. I'm also using
JDK1.4 only.
So maybe I am only to blame for the following problems but perhaps the
missing files are of interest to you anyhow...
1. My source was reduced to just core,jbi and also a subset of
components/base.
2. I used all the libs as-is from the 2.0.2 binary distribution. This
set of libs is NOT quite enough (??) for some components (jabber?,
mule?) but I think don't need those so just excluded those components
from my build
Anyway...I was able to build my own JAR and then set about trying to
start servicemix using the http-binding sample....
3. I found it was possible to start it using the (undocumented??) -v1
option with my old config file.
4. When I used the NEW servicemix.xml (from the 2.0.2 http-binding
example) servicemix failed to start with some error like
Caught:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No
bean named 'jbi' is defined:
org.springframework.beans.factory.support.DefaultListableBeanFactory
defining beans []; root of BeanFactory hierarchy
org.springframework.beans.factory.NoSuchBeanDefinitionException: No
bean named 'jbi' is defined:
org.springframework.beans.factory.support.DefaultListableBeanFactory
defining beans []; root of BeanFac
tory hierarchy
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:349)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getMergedBeanDefinition(AbstractBeanFactory.java:671)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:198)
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
at
org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:553)
at org.servicemix.Main.main(Main.java:79)
After confirming that the SM2.0.2 binary download worked for this
example servicemix.xml I guessed my JAR I built must be sick. So tried
to find some difference with it and the official servicemix-2.0.2.jar....
=====
Here are some things I noticed.
A) servicemix-2.0.2.jar has a servicemix.xsd in the root. The SM2.0.2
source download has a servicemix.dtd in the core/main/resource
directory but NO servicemix.xsd so this was missing from my JAR. This
file is almost but NOT the same as the on in the conf directory and I
don't know if it is needed to be in the JAR or not (and why is it
different from the conf file of the same name?)
B) servicemix-2.0.2.jar had a file called "1.0" in directory
META-INF\services\org\xbean\spring\http\servicemix.org\config but I
could not find this file anywhere in the source download....so this
was also missing from my JAR. This seems to have been the main cause
of my exception during startup.
=====
I understand that these are generated files but even so, would it be
possible for you to copy those generated files to the appropriate
sub-dirs of core/main/resource dir of the source download? Then I
would be able to continue to build my ServiceMix JAR simply as before.
I have already done this in my own environment and it seems OK.
Thanks,
Peter.