Im 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 youre running? Im thinking yourre running older build and thats why
youre not getting the issue.
Ive 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, Im using Windows
and WO5.2. I dont have WO5.4.
Ive 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
Ive 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
Im 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
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
email sent to email@hidden