I’m running WOLips
3.7.1008523 with Java 1.5. What Java version are you using?
Since your “wo.system.root”
looks the same in both outputs, how is “wo.system.root” defined in
your wolips.properties?
My wolips.properties have forward
slashes.
wo.system.root
= C\:/Apple
wo.local.root
= C\:/Apple/Local
Anyway, I replaced WOVariables.class
with 3.6 version in C:\eclipse\plugins\org.objectstyle.wolips.woproject.ant_3.7.1008523\lib\woproject.jar
and CLSSPATH.txt looks correct now.
CLSSPATH.txt:
#
JVM
== java
#
JVMOptions ==
#
JDB
== jdb
#
JDBOptions ==
# ApplicationClass ==
com.workrequest.Application
APPROOT\Resources\Java\
APPROOT\Resources\Java\workrequest.jar
LOCALROOT/Library/Frameworks/WRModel.framework/Resources/Java/wrmodel.jar
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
WOROOT/Library/Frameworks/JavaFoundation.framework/Resources/Java/javafoundation.jar
WOROOT/Library/Frameworks/JavaFoundation.framework/WebServerResources/Java/JavaFoundation.jar
WOROOT/Library/Frameworks/JavaJDBCAdaptor.framework/Resources/Java/javajdbcadaptor.jar
WOROOT/Library/Frameworks/JavaWebObjects.framework/Resources/Java/javawebobjects.jar
WOROOT/Library/Frameworks/JavaWOExtensions.framework/Resources/Java/JavaWOExtensions.jar
Thanks for taking the time to
respond.
--
i5mast
P.S. As for framework embedding,
I think in build.xml you have embed=”true” in compile target:
<frameworks root="Local" embed="false" eclipse="true" />
<frameworks root="System" embed="false" eclipse="true" />
From: Cheong Hee (Gmail)
[mailto:email@hidden]
Sent: Friday, June 01, 2012 1:41 AM
To: Strumyla, Marius; email@hidden
Subject: Re: Wrong CLASSPATH when installing WOApp with WOLips
These are
the output I have for 3.7 & 3.6 respectively, based on the code you posted:
wo.system.root = F:\Apple5_4_3
wo.local.root = F:\Apple5_4_3\Local
Encoded wo.system.root = F:/Apple5_4_3
Encoded wo.system.root = F:/Apple5_4_3/Local
wo.system.root = F:\Apple5_4_3
wo.local.root = F:\Apple5_4_3\Local
Encoded wo.system.root = F:/Apple5_4_3
Encoded wo.system.root = F:/Apple5_4_3/Local
Both
looks identical. The same file wolips.properties is used by both
versions, too.
Now,
looks at the output file CLSSPATH generated by 3.7 & 3.6 respectively:
::
wolips 3.7 CLSSPATH ::
#
JVM
== java
# JVMOptions ==
#
JDB
== jdb
# JDBOptions ==
# ApplicationClass == your.app.Application
APPROOT\Resources\Java\
APPROOT\Resources\Java\org.objectstyle.wolips.woproject_3.7.1004814.jar
APPROOT\Resources\Java\wo5environmentvariables1.jar
APPROOT\Resources\Java\woproject.jar
APPROOT/Frameworks/JavaEOAccess.framework/Resources/Java/javaeoaccess.jar
APPROOT/Frameworks/JavaEOAccess.framework/WebServerResources/Java/JavaEOAccess.jar
APPROOT/Frameworks/JavaEOControl.framework/Resources/Java/javaeocontrol.jar
APPROOT/Frameworks/JavaEOControl.framework/WebServerResources/Java/JavaEOControl.jar
APPROOT/Frameworks/JavaFoundation.framework/Resources/Java/javafoundation.jar
APPROOT/Frameworks/JavaFoundation.framework/WebServerResources/Java/JavaFoundation.jar
APPROOT/Frameworks/JavaJDBCAdaptor.framework/Resources/Java/javajdbcadaptor.jar
APPROOT/Frameworks/JavaJDBCAdaptor.framework/WebServerResources/Java/JavaJDBCAdaptor.jar
APPROOT/Frameworks/JavaWebObjects.framework/Resources/Java/javawebobjects.jar
APPROOT/Frameworks/JavaWebObjects.framework/WebServerResources/Java/JavaWebObjects.jar
APPROOT/Frameworks/JavaXML.framework/Resources/Java/javaxml.jar
APPROOT/Frameworks/JavaXML.framework/WebServerResources/Java/javaxml.jar
::
wolips 3.6 CLSSPATH ::
#
JVM
== java
# JVMOptions ==
#
JDB
== jdb
# JDBOptions ==
# ApplicationClass == your.app.Application
APPROOT\Resources\Java\
APPROOT\Resources\Java\org.objectstyle.wolips.woproject_3.7.1004814.jar
APPROOT\Resources\Java\wo5environmentvariables2.jar
APPROOT\Resources\Java\woproject.jar
WOROOT/Library/Frameworks/JavaEOAccess.framework/Resources/Java/javaeoaccess.jar
WOROOT/Library/Frameworks/JavaEOControl.framework/Resources/Java/javaeocontrol.jar
WOROOT/Library/Frameworks/JavaFoundation.framework/Resources/Java/javafoundation.jar
WOROOT/Library/Frameworks/JavaJDBCAdaptor.framework/Resources/Java/javajdbcadaptor.jar
WOROOT/Library/Frameworks/JavaWebObjects.framework/Resources/Java/javawebobjects.jar
WOROOT/Library/Frameworks/JavaXML.framework/Resources/Java/javaxml.jar
WOROOT/Library/Frameworks/JavaEOAccess.framework/WebServerResources/Java/JavaEOAccess.jar
WOROOT/Library/Frameworks/JavaEOControl.framework/WebServerResources/Java/JavaEOControl.jar
WOROOT/Library/Frameworks/JavaFoundation.framework/WebServerResources/Java/JavaFoundation.jar
WOROOT/Library/Frameworks/JavaJDBCAdaptor.framework/WebServerResources/Java/JavaJDBCAdaptor.jar
WOROOT/Library/Frameworks/JavaWebObjects.framework/WebServerResources/Java/JavaWebObjects.jar
The
difference is APPROOT and WOROOT in the path. I noticed that wolips 3.7
has by default has configured to embed frameworks (local and project) when
generating deployment woa. Wolips 3.6 is not. The resulting woa in
3.7 is therefore give me a hugh fold size of 33MB as compared to 1.7MB in
wolips 3.6. That's beside the point. The meaningful exercise
here is the CLSSPATH should be generated OK for cross-platform woa.
-----
Original Message -----
Sent: Friday, June 01,
2012 5:07 AM
Subject: RE: Wrong CLASSPATH
when installing WOApp with WOLips
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
_______________________________________________
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