Cheong, what build of WOLips 3.7
you’re running? I’m thinking your’re running older build and
that’s why you’re not getting the issue.
I’ve confirmed that the
issue is with WOVariables class and recently (10 months ago) added resolvedPath
method.
https://github.com/wolips/wolips/commit/bac2d4ea2488a0341bdb84bfa08627b86cd519dd
1. What happens is that these
lines in resolvedPath flip the slashes from “/” to “\” (“C:/Apple” becomes “C:\Apple”)
File filepath = new File(path);
...
return filepath.toString();
2. Then WOVariables.encodePath
fails to properly encode the path:
Properties
prop = new Properties();
WOEnvironment
woEnvironment = new WOEnvironment(prop);
WOVariables
woVariables = woEnvironment.getWOVariables();
System.out.println(WOVariables.SYSTEM_ROOT
+ " = " + woVariables.systemRoot());
System.out.println(WOVariables.LOCAL_ROOT
+ " = " + woVariables.localRoot());
String
encodedSystemRoot = woVariables.encodePath( woVariables.systemRoot() );
String
encodedLocalRoot = woVariables.encodePath( woVariables.localRoot() );
System.out.println("Encoded
" + WOVariables.SYSTEM_ROOT + " = " + encodedSystemRoot);
System.out.println("Encoded
" + WOVariables.SYSTEM_ROOT + " = " + encodedLocalRoot);
Running the app above with
woproject.jar from 3.7:
wo.system.root
= C:\Apple
wo.local.root
= C:\Apple\Local
Encoded
wo.system.root = C:/Apple
Encoded
wo.system.root = C:/Apple/Local
Running the app with
woproject.jar from 3.6:
wo.system.root
= C:/Apple
wo.local.root
= C:/Apple/Local
Encoded
wo.system.root = WOROOT
Encoded
wo.system.root = LOCALROOT
I think I will file a bug on
this.
Thanks,
--
I5mast
From: Cheong Hee (Gmail)
[mailto:email@hidden]
Sent: Thursday, May 31, 2012 5:57 AM
To: Strumyla, Marius; email@hidden
Subject: Re: Wrong CLASSPATH when installing WOApp with WOLips
Suggest
you do upgrade to latest WO5.4.3. This will make your life easier and
others to chip in, too.
As
for the path "/" or "\" you are getting, I have not
tried to print it out from code. But I think it should
work in windows for both, meaning I have not encounter this kind of problem
before.
-----
Original Message -----
Sent: Thursday, May 31,
2012 2:11 AM
Subject: RE: Wrong CLASSPATH
when installing WOApp with WOLips
Cheong, I’m using Windows
and WO5.2. I don’t have WO5.4.
I’ve done some testing and
Eclipse 3.6+WOLips 3.6 does the right thing for me. CLSSPATH gets WOROOT and
APPROOT in front of libraries:
WOROOT/Library/Frameworks/JavaEOAccess.framework/Resources/Java/javaeoaccess.jar
WOROOT/Library/Frameworks/JavaEOControl.framework/Resources/Java/javaeocontrol.jar
WOROOT/Library/Frameworks/JavaEOControl.framework/WebServerResources/Java/JavaEOControl.jar
…
I’ve written a small app
Properties prop = new Properties();
WOEnvironment woEnvironment = new WOEnvironment(prop);
WOVariables woVariables = woEnvironment.getWOVariables();
System.out.println(WOVariables.SYSTEM_ROOT + " = " +
woVariables.systemRoot());
System.out.println(WOVariables.LOCAL_ROOT + " = " +
woVariables.localRoot());
Running it against woproject.jar
from 3.7 gives me:
wo.system.root = C:\Apple
wo.local.root = C:\Apple\Local
Running it against woproject.jar
from 3.6 gives me:
wo.system.root = C:/Apple
wo.local.root = C:/Apple/Local
I’m thinking that these
flipping slashes are messing it for me.
Thanks
--
i5mast
From: Cheong Hee (Gmail)
[mailto:email@hidden]
Sent: Thursday, May 24, 2012 1:43 AM
To: Strumyla, Marius; email@hidden
Subject: Re: Wrong CLASSPATH when installing WOApp with WOLips
wo.system.root=C\:/Apple
wo.local.root=C\:/Apple/Local
I
have just checked that this is what I am getting too in my windows wolips
properties file. So I think your properties file is fine. May
be you could try to install your WO54 in a separate new directory and have a
clearer class path for WO54.
_______________________________________________
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