cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jens Mayer" <Jens.May...@gmx.de>
Subject error finding node.xml in jar-file
Date Tue, 18 Sep 2007 05:21:12 GMT
Hi,

I'm using the technique of copying datamaps (by Michael Gentry, look at http://cwiki.apache.org/CAY/copying-datamaps.html).

Works fine as long as the configuration files are located in the filesystem. I moved them
into a package (following the hints at http://cwiki.apache.org/CAYDOC/customizing-configuration.html).
Now it works within the IDE (Eclipse 3.2), but not within a jar-file.

this is the cayenne.xml:
<?xml version="1.0" encoding="utf-8"?>
<domains project-version="2.0">

<domain name="DC">
	<node name="DCNode"
		 datasource="DCNode.driver.xml"
		 factory="org.apache.cayenne.conf.DriverDataSourceFactory">
	 </node>
</domain>
<domain name="SharedDomain">
	<map name="SharedMap" location="SharedMap.map.xml"/>

	<node name="SharedNode"
		 datasource="SharedNode.driver.xml"
		 factory="org.apache.cayenne.conf.DriverDataSourceFactory">
			<map-ref name="SharedMap"/>
	 </node>
</domain>
</domains>

The cayenne.xml and SharedNode.driver.xml are found, but DCNode.driver.xml cannnot be located
in the jar-file, because in that case the "jar:file:...."-Prefix isn't used by the ResourceLocator.

Any suggestions what I am doing wrong ?

Thanks in advance 

Jens


This is the Logging-Output (DEBUG-Level):

using domain file name: cayenne.xml
canInitialize started.
initialize starting.
searching additional classpaths: [de/edeka/ebus/dc/db/util, de/edeka/ebus/dc/db/conf]
searching for: de/edeka/ebus/dc/db/util/cayenne.xml
URL not found with classloader: de/edeka/ebus/dc/db/util/cayenne.xml
searching for: de/edeka/ebus/dc/db/conf/cayenne.xml
URL found with classloader: jar:file:/T:/test/dcmonitor.jar!/de/edeka/ebus/dc/db/conf/cayenne.xml
started configuration loading.
loaded domain: DC
loading <node name='DCNode' datasource='DCNode.driver.xml' factory='org.apache.cayenne.conf.DriverDataSourceFactory'>.
using factory: org.apache.cayenne.conf.DriverDataSourceFactory
loading driver information from 'DCNode.driver.xml'.
searching additional classpaths: [de/edeka/ebus/dc/db/util, de/edeka/ebus/dc/db/conf]
searching for: de/edeka/ebus/dc/db/util/DCNode.driver.xml
URL not found with classloader: de/edeka/ebus/dc/db/util/DCNode.driver.xml
searching for: de/edeka/ebus/dc/db/conf/DCNode.driver.xml
URL not found with classloader: de/edeka/ebus/dc/db/conf/DCNode.driver.xml
URL not found with classloader: DCNode.driver.xml
Error: location 'DCNode.driver.xml' not found.
Error: DataSource load failed
org.apache.cayenne.ConfigurationException: [v.2.0.2 January 14 2007] Can't find DataSource
configuration file at DCNode.driver.xml
        at org.apache.cayenne.conf.DriverDataSourceFactory.load(DriverDataSourceFactory.java:122)
        at org.apache.cayenne.conf.DriverDataSourceFactory.getDataSource(DriverDataSourceFactory.java:80)
        at org.apache.cayenne.conf.RuntimeLoadDelegate.shouldLoadDataNode(RuntimeLoadDelegate.java:297)
        at org.apache.cayenne.conf.ConfigLoader$NodeHandler.init(ConfigLoader.java:330)
        at org.apache.cayenne.conf.ConfigLoader$DomainHandler.startElement(ConfigLoader.java:219)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown
Source)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown
Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown
Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
        at org.apache.cayenne.conf.ConfigLoader.loadDomains(ConfigLoader.java:78)
        at org.apache.cayenne.conf.DefaultConfiguration.initialize(DefaultConfiguration.java:161)
        at org.apache.cayenne.conf.Configuration.initializeSharedConfiguration(Configuration.java:276)
        at de.edeka.ebus.dc.db.util.DcContextManager.<init>(DcContextManager.java:44)
        at de.edeka.ebus.dc.db.util.DcContextManager.getInstance(DcContextManager.java:54)
        at de.edeka.ebus.dc.db.Status.<clinit>(Status.java:41)
        at de.edeka.ebus.dc.util.StatusImage.<clinit>(StatusImage.java:23)
        at de.edeka.ebus.dc.mvc.monitor.ViewMkt.createStatusFilterGroup(ViewMkt.java:193)
        at de.edeka.ebus.dc.mvc.monitor.ViewMkt.createFilterComposite(ViewMkt.java:171)
        at de.edeka.ebus.dc.mvc.monitor.ViewMkt.createControls(ViewMkt.java:106)
        at de.edeka.ebus.dc.mvc.monitor.ViewDetail.createControls(ViewDetail.java:43)
        at de.edeka.ebus.dc.mvc.monitor.ViewMain.createControls(ViewMain.java:38)
        at de.edeka.ebus.framework.mvc.BaseMvc.<init>(BaseMvc.java:44)
        at de.edeka.ebus.dc.mvc.monitor.MvcMain.<init>(MvcMain.java:29)
        at de.edeka.ebus.dc.app.MonitorWindow.createContents(MonitorWindow.java:61)
        at org.eclipse.jface.window.Window.create(Window.java:426)
        at org.eclipse.jface.window.Window.open(Window.java:785)
        at de.edeka.ebus.dc.app.StartMonitor.main(StartMonitor.java:45)
no adapter set, using automatic adapter.
loaded domain: SharedDomain
searching additional classpaths: [de/edeka/ebus/dc/db/util, de/edeka/ebus/dc/db/conf]
searching for: de/edeka/ebus/dc/db/util/SharedMap.map.xml
URL not found with classloader: de/edeka/ebus/dc/db/util/SharedMap.map.xml
searching for: de/edeka/ebus/dc/db/conf/SharedMap.map.xml
URL found with classloader: jar:file:/T:/test/dcmonitor.jar!/de/edeka/ebus/dc/db/conf/SharedMap.map.xml
loaded <map name='SharedMap' location='SharedMap.map.xml'>.
loading <node name='SharedNode' datasource='SharedNode.driver.xml' factory='org.apache.cayenne.conf.DriverDataSourceFactory'>.
using factory: org.apache.cayenne.conf.DriverDataSourceFactory
loading driver information from 'SharedNode.driver.xml'.
searching additional classpaths: [de/edeka/ebus/dc/db/util, de/edeka/ebus/dc/db/conf]
searching for: de/edeka/ebus/dc/db/util/SharedNode.driver.xml
URL not found with classloader: de/edeka/ebus/dc/db/util/SharedNode.driver.xml
searching for: de/edeka/ebus/dc/db/conf/SharedNode.driver.xml
URL found with classloader: jar:file:/T:/test/dcmonitor.jar!/de/edeka/ebus/dc/db/conf/SharedNode.driver.xml
loading driver null
Created connection pool: null
        Driver class: null
        Min. connections in the pool: 1
        Max. connections in the pool: 1
loaded datasource.
no adapter set, using automatic adapter.
loaded map-ref: SharedMap.
Exception in thread "main" java.lang.ExceptionInInitializerError
        at de.edeka.ebus.dc.util.StatusImage.<clinit>(StatusImage.java:23)
        at de.edeka.ebus.dc.mvc.monitor.ViewMkt.createStatusFilterGroup(ViewMkt.java:193)
        at de.edeka.ebus.dc.mvc.monitor.ViewMkt.createFilterComposite(ViewMkt.java:171)
        at de.edeka.ebus.dc.mvc.monitor.ViewMkt.createControls(ViewMkt.java:106)
        at de.edeka.ebus.dc.mvc.monitor.ViewDetail.createControls(ViewDetail.java:43)
        at de.edeka.ebus.dc.mvc.monitor.ViewMain.createControls(ViewMain.java:38)
        at de.edeka.ebus.framework.mvc.BaseMvc.<init>(BaseMvc.java:44)
        at de.edeka.ebus.dc.mvc.monitor.MvcMain.<init>(MvcMain.java:29)
        at de.edeka.ebus.dc.app.MonitorWindow.createContents(MonitorWindow.java:61)
        at org.eclipse.jface.window.Window.create(Window.java:426)
        at org.eclipse.jface.window.Window.open(Window.java:785)
        at de.edeka.ebus.dc.app.StartMonitor.main(StartMonitor.java:45)
Caused by: org.apache.cayenne.ConfigurationException: [v.2.0.2 January 14 2007] Error during
Configuration initialization. [v.2.0.2 January 14 2007] Load failures. Main configuration
class: de.edeka.e
bus.dc.db.util.DcPackageConfiguration, details:
        domain.node.name=DCNode, domain.node.datasource=DCNode.driver.xml, reason: DataSource
load failed - [v.2.0.2 January 14 2007] Can't find DataSource configuration file at DCNode.driver.xml
        at org.apache.cayenne.conf.Configuration.initializeSharedConfiguration(Configuration.java:285)
        at de.edeka.ebus.dc.db.util.DcContextManager.<init>(DcContextManager.java:44)
        at de.edeka.ebus.dc.db.util.DcContextManager.getInstance(DcContextManager.java:54)
        at de.edeka.ebus.dc.db.Status.<clinit>(Status.java:41)
        ... 12 more
Caused by: org.apache.cayenne.ConfigurationException: [v.2.0.2 January 14 2007] Load failures.
Main configuration class: de.edeka.ebus.dc.db.util.DcPackageConfiguration, details:
        domain.node.name=DCNode, domain.node.datasource=DCNode.driver.xml, reason: DataSource
load failed - [v.2.0.2 January 14 2007] Can't find DataSource configuration file at DCNode.driver.xml
        at org.apache.cayenne.conf.RuntimeLoadDelegate.finishedLoading(RuntimeLoadDelegate.java:470)
        at org.apache.cayenne.conf.ConfigLoader.loadDomains(ConfigLoader.java:79)
        at org.apache.cayenne.conf.DefaultConfiguration.initialize(DefaultConfiguration.java:161)
        at org.apache.cayenne.conf.Configuration.initializeSharedConfiguration(Configuration.java:276)
        ... 15 more

-- 
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kanns mit allen: http://www.gmx.net/de/go/multimessenger

Mime
View raw message