Re: Classpath somehow different between develop and deploy? Solved?
Re: Classpath somehow different between develop and deploy? Solved?
- Subject: Re: Classpath somehow different between develop and deploy? Solved?
- From: Johan Henselmans <email@hidden>
- Date: Thu, 28 May 2009 01:35:13 +0200
On 28 mei 2009, at 00:10, Johan Henselmans wrote:
I am having troubles, and I would like to share it with you, my
fellow WA'ers (Webobjects Anonymous). I am sure without your support
I will have serious relapses...
It always helps to describe what your problem is. After I had
described what the problem was I head a serious look at
MacOSXServerClasspath.txt in the App.woa/Contents/MacOS folder.
It noticed that the folder Resources was not available as class path,
but "APPROOT/Resources/Java/" was indeed.
So I took the liberty of adding "APPROOT/Resources/" to
MacOSXServerClassPath.txt. That solved it, my resources were found,
but that meant I would have to add this line every time I redeployed.
(Remember the old java credo, Write Once Deploy Often?)
Another way I found was to add a folder "Java" to the "Resources"
folder in the Eclipse Projects, and moved the config files and the
keystores from the "Resources" into the "Resources/Java" folder.
During the deployment ant-task the stuff is now copied into "APPROOT/
Resources/Java/", and so the java class finds the resources in its
classpath.
I am a bit worried about this solution, as it seems that the
application jar is also added at the same location during deployment.
Will one folder overwrite the other, so in future times this will lead
to a partial install? Any chance that this will happen?
How do other people add resources that a Java class assumes is
somewhere available in a folder describe by the classpath?
I have to use some third party jars that are used to make a
connection to a secure website, which is taken care of by an SSL
connection with a certificate which is stored in a java keystore.
(the java keychains that you can create with keytool). The class
that uses this keystore knows which one to use it via a file called
config.properties. The jar class that uses this data assumes the
data is all available somewhere in the classpath: it is searching
for this specific information via
ClassLoader loader =
Thread.currentThread().getContextClassLoader();
Enumeration p = loader.getResources(keystoreFile);
as I found out via JD-GUI (great app!).
I thought it might be a good idea to store the the keystores and the
config file in Resources. I have added that file to the Resources
too. Then I added the Resources folder as a class folder to the
Library path of the application, so that it is available in the Java
Build Path.
In Development Everything works, the keystores get loaded, the
connection is made and the whole world rejoices.
Then I install the Application, and somehow it does not work any more.
I tried to find out if the classpath that contained the
configuration and the keystores were loaded, but I did not get any
messages whatsoever about the classpath:
This is the code I tried to find out the classpath:
==================================================================
ClassLoader classLoader = ClassLoader.getSystemClassLoader();
Util.log.info("\nClassPath Follows....\n");
URL[] urls = ((URLClassLoader) classLoader).getURLs();
for (int i = 0; i < urls.length; i++) {
Util.log.info(urls[i].toString() + "\n");
}
==================================================================
and this is the output.
==================================================================
ClassPath Follows....
May 27 23:13:38 WOIdealTestApp[2002] DEBUG IdealConnector - file:/
Library/WebObjects/Applications/WOIdealTestApp.woa/WOBootstrap.jar
==================================================================
WOLips 3.4.5800
Eclipse 3.5RC2.
WebObject 5.4.3
Regards,
Johan Henselmans
http://www.netsense.nl
Tel: +31-20-6267538
Fax: +31-20-6279159
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
Regards,
Johan Henselmans
http://www.netsense.nl
Tel: +31-20-6267538
Fax: +31-20-6279159
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden