Troubleshooting

This page covers JumpStart 4.12.n.

Solutions to common problems including some classic Tapestry errors. Please send any you think should be added. When we have a few I'll move them to the Tapestry Wiki. If you have no luck here, another excellent resource for troubleshooting is the forum at gmame and its equivalent forum at nabble.

Unable to clear Sun JarFileFactory cache

java.lang.NoClassDefFoundError: jumpstart/web/pages/examples/request/PageLinkOrActionLink2
org.apache.tapestry5.internal.services.TransformationException: Unable to add new method public final java.lang.xxxxx getYyyyy() as it already exists.

Table not found
User "secofr" does not exist

HTTP Status 404
[[missing key:

"java.io.InvalidClassException: org.jboss.ejb3.remoting.IsLocalInterceptor

"BUILD FAILED ... Could not create task or type of type: junit."
"java.lang.NoClassDefFoundError: javassist/util/proxy/MethodHandler"

Intel Macs and Eclipse
OS X and JBossIDE

Unable to clear Sun JarFileFactory cache
The full exception message is:
Unable to clear Sun JarFileFactory cache
java.lang.ClassCastException: java.lang.String cannot be cast to java.net.URL

It's fairly harmless and can be ignored, as discussed here. It has been occurring in OpenEJB since Sun JDK 1.6 update 18 and will hopefully disappear in a future release of OpenEJB or the JDK.

java.lang.NoClassDefFoundError: jumpstart/web/pages/examples/request/PageLinkOrActionLink2
The full exception message is:
org.apache.tapestry.internal.services.RenderQueueExceptionRender queue error in BeginRender[Start:pagelink_10]: Could not convert 'errorMessage' into a component parameter binding: java.lang.NoClassDefFoundError: jumpstart/web/pages/examples/request/PageLinkOrActionLink2

It occurs when JumpStart 3 is built and run with JDK 1.6. A system requirement of JumpStart is to build and run it with JDK 1.5. 1.6 will be supported when a solution to this problem has been found. In the meantime, drop back to JDK 1.5 like this:

org.apache.tapestry5.internal.services.TransformationException: Unable to add new method public final java.lang.xxxxx getYyyyy() as it already exists.
A field that has been annotated with @Property also has a getter or setter. Since Tapestry 5.0.16 this has been flagged as an error (and quite rightly, too).

Table not found
Initially, JBoss will create/update the database schema based on the definitions it finds in our exploded EAR file or any other deployed EAR or JAR. If the JBoss log shows "java.lang.SQLException: Table not found", then try this:

User "secofr" does not exist
Initial data has not been loaded. See populate the database.

HTTP Status 404
This is common if reloadable="true" (see reloading web programs) and you try a web page in the few seconds after modifying its class. Tomcat is just reloading the class. If you then press the Back button and try again you will usually succeed.

[[missing key: The component cannot find a message with the key that is shown after the ":", either because it is missing from the relevant properties file or the properties file is missing. eg. [[missing key: unknown-symbol]], means that the message with the key "unknown-symbol" is missing, or the whole properties file is missing.

java.io.InvalidClassException: org.jboss.ejb3.remoting.IsLocalInterceptor
Caused by client having a different version of the class than is being used by the JBoss server.
Check jboss.dir in build.properties really is pointing to the server you're testing against.
After modifying it, re-run the get-dependent-jars target of build.xml, then refresh the project in Eclipse and try running the test again.

"BUILD FAILED ... Could not create task or type of type: junit."
Might occur when running the test target of build.xml.
By default Eclipse does not run junit in Ant even though Eclipse comes with a junit plug-in. Ryan Lowe's blog explains how to set it up.

Unit tests fix
"javassist/util/proxy/MethodHandler
java.lang.NoClassDefFoundError: javassist/util/proxy/MethodHandler"
This can occur in JumpStart v0.7 or earlier.
To fix it in v0.7, add lib-biz-testing/javassist.jar to the build path and move it above the other javassist.jar.
To fix it in v0.6 or earlier, in the build.xml file, add this line to the get-dependent-jars target:
   <get dest="${lib.biz.testing.dir}/javassist.jar" usetimestamp="true" src="file:${jboss.client.dir}/javassist.jar" />
Run the get-dependent-jars target. Refresh the project. Add lib-biz-testing/javassist.jar to the build path and move it above the other javassist.jar.

Intel Macs and Eclipse
To use Eclipse 3.1 on an Intel Mac, you'll need a patch.
1. Go to http://sourceforge.net/project/showfiles.php?group_id=131065&package_id=183793&release_id=401995
2. Download org.eclipse.swt.carbon.macosx.ppc_3.1.2.1-universal-binaries.zip
3. Unzip it, producing directory eclipse/.
4. Open it to locate a jat file called plugins/org.eclipse.swt.carbon.macosx.ppc_3.1.2.1-universal-binaries.jar
5. Copy the jar file into your real eclipse/plugins/ directory.
6. Start/restart eclipse.

OS X and JBossIDE
To use JBossIDE with Eclipse 3.2 on Mac OS X, you'll need to use version 2 of the JBossIDE, which at the time of writing is not the current stable release. A beta version is available through this eclipse update site: http://download.jboss.org/jbosside/updates/development .

 

 

©2006, 2007 Geoff Callender, Sydney, Australia