FAQ
You can use subfolders inside WEB-INF/classes. These are essentially java
packages, although it doesn't really matter. How you handle it would
depend on your dev environment and build tool.

With ant based projects, just throw in the src folder under whatever
package you want, then ensure your ant script includes it in the build.

With maven or other tools you would put in under
src/main/resources/whatever/package/you/want. With maven I imagine this
just does the right thing.

Then in your code to create the runtime you just specify the whole package
in path format. new
ServerRuntime("/whatever/package/you/want/cayenne-MyApp.xml"). If it
doesn't work in the built version it's probably because you aren't actually
copying the file in the build product.

On Mon, Jul 6, 2015 at 10:34 AM Joe Baldwin wrote:

OK, lets start over. You say below:
Yes, XML files can be placed in subdirectories of any CLASSPATH
directory. So if you have the project file under
"WEB-INF/classes/org/example/cayenne-myproject.xml" , your location would
be "org/example/cayenne-myproject.xml".



And I am reporting that this only works if the config files are in the
"WEB-INF/classes" directory. If I put them in a directory, say
"WEB-INF/classes/cayenne-config” it fails. My understanding from your
comment is that it is possible to put them in this directory. If so, then
how is this done per Cayenne rules. I would prefer an example.

If it is not possible to do so then please let me know.





On Jul 6, 2015, at 11:14 AM, Andrus Adamchik wrote:

Try debugging your app, putting a breakpoint in
ClassLoaderResourceLocator.findResources(..) method. This may give you an
idea.
Andrus

On Jul 5, 2015, at 9:11 PM, Joe Baldwin wrote:

OK, so the question is “how”.

(I spent about 45min hacking different combinations and none worked.
All I could get working is depositing all the config files in the top
level WEB-INF/classes dir. I am sure I am missing something but the
previous two solutions stopped working with 4.0)

On Jul 5, 2015, at 8:56 PM, Andrus Adamchik wrote:

On Jul 5, 2015, at 8:51 PM, Joe Baldwin wrote:


"configuration-location" init parameter.”

This was mentioned in the docs. Is this not good practice?

I would *prefer* to put them in a separate directory under
“classes”. Is there a better way to do this - in your experience?
Yes, XML files can be placed in subdirectories of any CLASSPATH
directory. So if you have the project file under
"WEB-INF/classes/org/example/cayenne-myproject.xml" , your location would
be "org/example/cayenne-myproject.xml". This is a standard way of locating
any kind of resources in Java via ClassLoader.
Andrus

Search Discussions

Discussion Posts

Previous

Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 8 of 12 | next ›
Discussion Overview
groupuser @
categoriescayenne
postedJul 5, '15 at 11:56p
activeJul 6, '15 at 10:57p
posts12
users3
websitecayenne.apache.org

People

Translate

site design / logo © 2021 Grokbase