Hi Robert,

Please see below.


On Feb 7, 2006, at 7:38 AM, Robert Snyder wrote:

We have run into an interest issue when deploying an application that
was built in eclipse to an OS X Server 10.4.4, with WO 5.2.4.

The application runs fine on one of our test servers that has the same
frameworks and path layout, but which is running OS X Server 10.3.9 and
WO 5.2.3.

I can't think of what changed between 5.2.3 and 5.2.4 that would cause this, but I can probably shed some light on what may be wrong.


The application fails to launch because it is looking for  <main>
Principal class '${principalClass}'

This probably means that build.properties file in the application (and some of the frameworks from the looks of the log below) has a line like
principalClass=
instead of
principalClass=com.duablog.appserver.Application

There have been some changes in the properties and build.xml files over the last while (months? years?) and I recall some cases where older projects needed some manual updating.

You will need to edit this file to establish the correct, fully qualified class name.

This setting is used in the build.xml file by the tasks that create the application and framework bundles:

<woapplication name="${project.name}"  stdFrameworks="false"
                                                                                         
destDir="${dest.dir}"
                                                                                         
customInfoPListContent="${customInfoPListContent}"
                                                                                         
principalClass="${principalClass}"
                                                                                         
webXML="${webXML}"
                                                                                         
webXML_CustomContent="${webXML_CustomContent}">

<woframework name="${framework.name}"
                destDir="${dest.dir}"
                customInfoPListContent="${customInfoPListContent}"
                principalClass="${principalClass}"
                eoAdaptorClassName="${eoAdaptorClassName}">

The one for the application should end up in the MacOSClassPath.txt file as
# ApplicationClass == com.duablog.appserver.Application

However, if that is not happening, it should not be launching under 5.2.3 either.

The one for the framework should end up in the Info.plist file under the key NSPrincipalClass. I don't think that applies to application bundles, but it might.


Looking back through the list archive I found a reference that seemed to be related. In that post the solution that was offered was to "Go to the
Project Properties and to "WOLips build" and set the principal
class to "Application"."

But that didn't seem to solve the problem.


Here is the launch output:

Generated classpath:
/System/Library/WebObjects/WOApplications/OnlineCatalog.woa/ Contents/
Resources/Java/
/System/Library/WebObjects/WOApplications/OnlineCatalog.woa/ Contents/
Resources/Java/onlinecatalog.jar
  /System/Library/Frameworks/JavaEOAccess.framework/Resources/Java/
javaeoaccess.jar
  /System/Library/Frameworks/JavaEOControl.framework/Resources/Java/
javaeocontrol.jar
  /System/Library/Frameworks/JavaFoundation.framework/Resources/Java/
javafoundation.jar
  /System/Library/Frameworks/JavaJDBCAdaptor.framework/Resources/Java/
javajdbcadaptor.jar
/System/Library/Frameworks/JavaWOExtensions.framework/Resources/ Java/
JavaWOExtensions.jar
  /System/Library/Frameworks/JavaWebObjects.framework/Resources/Java/
javawebobjects.jar
/System/Library/Frameworks/JavaXML.framework/Resources/Java/ javaxml.jar
  /Library/Frameworks/ACSCore.framework/Resources/Java/acscore.jar
/Library/Frameworks/AuthInterface.framework/Resources/Java/ authinterface.jar
  /Library/Frameworks/AuthX.framework/Resources/Java/authx.jar
/Library/Frameworks/DMSBusiness.framework/Resources/Java/ dmsbusiness.jar
  /Library/Frameworks/DMSCore.framework/Resources/Java/dmscore.jar
  /Library/WebObjects/Extensions/axis-ant.jar
  /Library/WebObjects/Extensions/axis.jar
  /Library/WebObjects/Extensions/commons-discovery.jar
  /Library/WebObjects/Extensions/commons-logging.jar
  /Library/WebObjects/Extensions/jaxrpc.jar
  /Library/WebObjects/Extensions/log4j-1.2.4.jar
  /Library/WebObjects/Extensions/saaj.jar
  /Library/WebObjects/Extensions/wsdl4j.jar
  /Library/WebObjects/Extensions/
[2006-02-06 23:50:56 PST] <main> Principal class '$ {principalClass}' not
found in bundle ACSCore
[2006-02-06 23:50:56 PST] <main> Principal class '$ {principalClass}' not
found in bundle DMSBusiness
[2006-02-06 23:50:56 PST] <main> Principal class '$ {principalClass}' not
found in bundle DMSCore


Those last three sound like frameworks. It may be that 5.2.4 is more sticky about having the NSPrincipalClass defined than previous versions were.

Chuck


--
Coming in 2006 - an introduction to web applications using WebObjects and Xcode http://www.global-village.net/wointro

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects




_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to