Hello,
Thanks, John and Michael for your answers.
Sorry for a very delayed reply. Unfortunately this message was filtered out by accident with other wo conversations.
To be specific - I want to build a true WAR app with maven.
I tried to follow your suggestions, but they didn't work - I still get the same error as in the first post. Let me explain my steps in detail.
1. After building war with maven I get MyApp.war archive [1]. Inside, empty META-INF folder. WEB-INF/lib contains all WO, 3rd party and MyApp.jar libraries.
MyApp.jar structure can be seen in target/classes .
2. My Info.plist is in [2]. The problem is, I can not find any documentation on the requirements so I had to use Wonder Source framework as an example. Also, I am not sure why paths are like Resources/Java while there are no Java folder inside Resources (Ajax lib for instance).
3. Web.xml is almost identical to yours, Michael, with the exception of (that doesn't exist):
<listener>
<listener-class>com.commoditrack.core.SystemPropertiesHelper</listener-class>
</listener>
I assume it is optional.
4. Is there any way to debug paths/missing resources?
Your help is much appreciated.
Regards,
Gintautas
[1] MyApp.
├── pom.xml
├── target
│ ├── classes
│ │ ├── Resources
│ │ │ └── Info.plist
│ │ ├── WebServerResources
│ │ └── com
│ │ │ └── MyApp srouce
│ ├── MyApp - extracted MyApp.war
│ │ ├── META-INF
│ │ └── WEB-INF
│ │ ├── classes - empty
│ │ ├── lib
│ │ │ ├── MyApp.jar
│ │ │ ├── WO_jars.jar
│ │ │ └── 3rd_party_jars.jar
│ │ └── web.xml
│ └── MyApp.war - the actual WAR file
├── build.properties
├── build.xml
└── woproject
[2]
Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>MyApp</string>
<key>CFBundleIconFile</key>
<string>WOAfile.icns</string>
<key>CFBundleIdentifier</key>
<string> MyApp </string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>WOA</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>0.0.1</string>
<key>CFBundleVersion</key>
<string>0.0.1</string>
<key>CFBundleSignature</key>
<string>webo</string>
<key>CFBundleVersion</key>
<string>5.4</string>
<key>Has_WOComponents</key>
<true/>
<key>Java</key>
<dict>
<key>JVMVersion</key>
<string>1.5+</string>
</dict>
<key>NSExecutable</key>
<string> MyApp </string>
<key>NSJavaClientRoot</key>
<string>WebServerResources/Java</string>
<key>NSJavaNeeded</key>
<true/>
<key>NSJavaPath</key>
<array>
<string> MyApp.jar</string>
</array>
<key>NSJavaPathClient</key>
<string> MyApp.jar</string>
<key>NSJavaRoot</key>
<string>Resources/Java</string>
<key>NSPrincipalClass</key>
<string>com.myapp.Application</string>
</dict>
</plist>
[3]
web.xml
<web-app>
<display-name>MyApp</display-name>
<context-param>
<param-name>WOJarBundle</param-name>
<param-value>YES</param-value>
<description>
Whether this app is a "true" WAR, rather than a "stub" WAR
or SSDD Note that WOROOT, LOCALROOT, WOAINSTALLROOT,
WOClassPath are ignored if this is true However, if this is
true, WOMainBundle must be set to the main bundle name
</description>
</context-param>
<context-param>
<param-name>WOMainBundle</param-name>
<param-value>MyApp</param-value>
<description>
Sets the name of the main bundle. Only used if WOJarBundle
is true
</description>
</context-param>
<!-- Indicates if application is in development or deployment mode. In development
mode, images are vended by the application directly from frameworks. In
deployment mode, images are vended by the webserver. -->
<context-param>
<param-name>WOAppMode</param-name>
<param-value>development</param-value>
</context-param>
<!-- Class name of the WOApplication subclass that defines the
WebObjects application. -->
<context-param>
<param-name>WOApplicationClass</param-name>
<param-value>
com.myapp.Application
</param-value>
</context-param>
<!-- The WebObjects Servlet that interfaces between the Servlet container
world and the WebObjects world. -->
<servlet>
<servlet-name>WOServletAdaptor</servlet-name>
<servlet-class>er.extensions.jspservlet.ERXServletAdaptor</servlet-class>
<load-on-startup>5</load-on-startup>
</servlet>
<!-- URLs starting with 'WebObjects' use the WebObjects Servlet adaptor. -->
<servlet-mapping>
<servlet-name>WOServletAdaptor</servlet-name>
<url-pattern>/WebObjects/*</url-pattern>
</servlet-mapping>
</web-app>