I'm very glad you found a solution ... it's still a mystery to me as all the applications I work on are built using the Sun javac compiler and I've never seen problems like you are seeing, and I do some of my deployments on Linux (Ubuntu) ... again, with the Sun JDK/JRE.
On Tue, Nov 3, 2009 at 3:33 AM, Inge Solvoll <inge.tapes...@gmail.com> wrote: > 2 more days spent on this, and I actually came up with a solution: Switching > from JDK "modern" compiler to eclipse compiler. I found another thread about > class transformation errors on the list, saying that the Java C compiler had > issues with class transformation. > > http://www.mail-archive.com/users@tapestry.apache.org/msg23610.html > > I rebuilt my classes with the eclipse compiler, and voila! No more errors > about invalid constants and similar! > > The recipe for using eclipse compiler in ant: > http://emacsblog.org/2007/02/13/emacs-jdee-ant-and-the-eclipse-java-compiler/ > > Regards > Inge > > > > On Mon, Nov 2, 2009 at 3:00 PM, Inge Solvoll <inge.tapes...@gmail.com>wrote: > >> Done some pretty extensive research on this the last few days. Our >> application doesn't work at all on our test and production servers, because >> of the dreaded "invalid constant length" error. >> >> We have the following setup: >> - jre-6u16 for linux >> - Suse Linux >> - JBoss 5.0.1 with embedded tomcat >> - Compiles using java 1.6, tried both 1.5 and 1.6 as target compatibility >> >> I have verified that there is excactly ONE javassist.jar within my jboss >> directory, and the version of that file is 3.9.0.GA. >> >> I still get javassist crashes on several of my smaller components, like the >> one below. I'm going crazy over this, especially because it indicates to >> everyone else that our big investment in T5 may have been a really stupid >> move. >> >> Just reported this to let you know that this problem DOES occur when there >> is only one javassist.jar, and it is causing major problems for us. >> >> Example of crashing component: >> >> @IncludeJavaScriptLibrary( { "context:/script/tiny_mce/tiny_mce.js" }) >> public class TinyMceEditor { >> >> public static final String MODE_EXACT = "exact"; >> public static final String MODE_TEXTAREAS = "textareas"; >> >> @Inject >> private UrlProvider urlProvider; >> >> @Environmental >> private RenderSupport renderSupport; >> >> @Parameter(defaultPrefix = BindingConstants.LITERAL, value = >> MODE_TEXTAREAS) >> private String mode; >> >> /** >> * If mode=exact, attach editor to these elements >> */ >> @Parameter >> private ClientElement[] elements; >> >> void initEditor(MarkupWriter writer) { >> >> // We can't use renderSupport to add script, tinyMCE refuses to accept >> // scripts added this way. It needs inline script. Script tag written >> // manually below. >> >> String jsonString = getJSON(); >> writer.element("script", "type", "text/javascript"); >> writer.writeRaw(String.format("tinyMCE.init(%s)", jsonString)); >> writer.end(); >> } >> >> /** >> * Make sure editor content is saved to form field before Tapestry AJAX >> * submits. >> */ >> void patchZoneForms() { >> >> renderSupport.addScript("document.forms[0].observe(Tapestry.FORM_PROCESS_SUBMIT_EVENT, >> function() {tinyMCE.triggerSave()});"); >> } >> >> /** >> * Get JSON config for tinyMCE object. Configured to view one simple >> toolbar. >> * >> * @return >> */ >> private String getJSON() { >> JSONObject json = new JSONObject(); >> json.put("mode", mode); >> json.put("theme", "advanced"); >> addElementList(json); >> json.put("theme_advanced_toolbar_location", "top"); >> json.put("theme_advanced_toolbar_align", "left"); >> json.put("theme_advanced_buttons1", >> "bold,italic,underline,bullist,numlist,undo,redo,outdent,indent,fontsizeselect"); >> json.put("theme_advanced_buttons2", ""); >> json.put("theme_advanced_buttons3", ""); >> json.put("content_css", >> urlProvider.getContextAssetUrl("/css/tinymce.css")); >> return json.toString(); >> } >> >> private void addElementList(JSONObject json) { >> if (MODE_EXACT.equals(mode)) { >> if (elements != null && elements.length > 0) { >> StringBuffer elementsString = new StringBuffer(); >> for (int i = 0; i < elements.length; i++) { >> ClientElement currentElement = elements[i]; >> FrontendTools.appendCommaSeparated(currentElement.getClientId(), >> elementsString); >> } >> json.put("elements", elementsString); >> } >> else { >> throw new IllegalArgumentException("Exact mode specified, but no >> elements"); >> } >> } >> } >> >> void afterRender(MarkupWriter writer) { >> initEditor(writer); >> patchZoneForms(); >> } >> >> } >> >> >> Regards >> Inge >> >> >> >> On Tue, Oct 27, 2009 at 9:57 AM, Fermin Da Costa Gomez < >> dacostago...@dcgconsultancy.nl> wrote: >> >>> For what it is worth .. i have not had *this* problem anymore since i >>> straigthened out the use of the libs in the different projects being used. >>> IF something like this happens again (hope not with my friday deadline .. >>> ) >>> i'll post it as well. >>> >>> >>> On Tue, Oct 27, 2009 at 8:37 AM, Inge Solvoll <inge.tapes...@gmail.com >>> >wrote: >>> >>> > This problem has been gone for us for a while, today it came back when >>> > deploying our app to a jboss server (5.0.1) with embedded tomcat. I >>> > immediately started searching for javassist.jar duplicates. Found >>> > javassist.jar in jboss/lib, jboss/client and <myapp>/WEB-INF/lib. >>> > >>> > Jboss wouldn't start up without the one in jboss/lib, so I removed all >>> but >>> > that one. Now it started, and my T5 app works, but the error in one >>> > specific >>> > component is still there: java.io.IOException: invalid constant type: >>> 121. >>> > It always happens with the same component. The component works in most >>> > configurations, just not on our jboss server setup with embedded tomcat. >>> > >>> > I then replaced the javassist.jar in jboss/lib with a fresh 3.9.0, like >>> > specified in this thread. Now Jboss won't start up, nothing happens in >>> the >>> > log when I try to start it >>> > >>> > We will continue working on this this week, as this is a major problem >>> for >>> > us. Hopefully, you're right about it being a javassist.jar duplicate >>> issue. >>> > But so far, I haven't found anything pointing in that direction. >>> > >>> > Inge >>> > >>> > On Wed, Oct 7, 2009 at 4:18 PM, Fermin Da Costa Gomez < >>> > dacostago...@dcgconsultancy.nl> wrote: >>> > >>> > > This was actually it. >>> > > A 'hidden' antiquated version of javassist somewhere on the classpath >>> AND >>> > > (as later turned out) a project that did not want to be placed on the >>> > > classpath (via the classpath settings in the launcher of Eclipse >>> > Galileo). >>> > > >>> > > Finally got the whole thing stopping on my breakpoint again .. >>> > > >>> > > I guess it all has to do with the infamous medal ansd its two sides. >>> > Having >>> > > all the libs available is a good thing but it might also be lurking >>> > behind >>> > > a >>> > > tree with dubious intentions .. ;-) >>> > > >>> > > Thx to the list for getting me on my way again. >>> > > >>> > > >>> > > On Wed, Oct 7, 2009 at 4:17 PM, Peter Stavrinides < >>> > > p.stavrini...@albourne.com> wrote: >>> > > >>> > > > >>> > > > Tapestry works perfectly with Java 6 now!! >>> > > > >>> > > > Lets not be ridiculous and claim that you need to shorten methods >>> and >>> > > > method names etc in order to get it working, it has been completely >>> > > > compatible for some time now. This is a library issue, you must use >>> > > > 3.9.0.GA, which is the version provided by Tapestry 5.1, beware of >>> > > > Chenillekit it brings in an old version javassist 3.7, which in most >>> > > causes >>> > > > this problem. >>> > > > >>> > > > You must include this in your pom: >>> > > > >>> > > > <dependency> >>> > > > <groupId>org.chenillekit</groupId> >>> > > > <artifactId>chenillekit-tapestry</artifactId> >>> > > > <version>1.2.0</version> >>> > > > <exclusions> >>> > > > <exclusion> >>> > > > <groupId>jboss</groupId> >>> > > > <artifactId>javassist</artifactId> >>> > > > </exclusion> >>> > > > </exclusions> >>> > > > </dependency> >>> > > > >>> > > > >>> > > > Cheers, >>> > > > Peter >>> > > > >>> > > > -- >>> > > > If you are not an intended recipient of this e-mail, please notify >>> the >>> > > > sender, delete it and do not read, act upon, print, disclose, copy, >>> > > retain >>> > > > or redistribute it. Please visit >>> http://www.albourne.com/email.htmlfor >>> > > > important additional terms relating to this e-mail. >>> > > > >>> > > > ----- Original Message ----- >>> > > > From: "Cameron Newham" <cameron.new...@bl.uk> >>> > > > To: "Tapestry users" <users@tapestry.apache.org> >>> > > > Sent: Wednesday, 7 October, 2009 11:40:27 GMT +02:00 Athens, Beirut, >>> > > > Bucharest, Istanbul >>> > > > Subject: RE: [t5] upgrade to java 6 and javassist >>> > > > >>> > > > When I had trouble with javassist a few months ago it was because >>> there >>> > > > were multiple versions on the classpath. >>> > > > >>> > > > I'm using Java 1.6 and have had no problems since sorting out what >>> jars >>> > > > were being included. >>> > > > >>> > > > I see I'm currently using 3.8.0.GA. >>> > > > >>> > > > >>> > > > -----Original Message----- >>> > > > From: Ville Virtanen [mailto:ville.virta...@cerion.fi] >>> > > > Sent: 07 October 2009 05:11 >>> > > > To: users@tapestry.apache.org >>> > > > Subject: Re: [t5] upgrade to java 6 and javassist >>> > > > >>> > > > >>> > > > Hi, >>> > > > >>> > > > Also make 100% sure that there aren't multiple javassists (different >>> > > > versions in classpath) AND that the included javassist version is >>> the >>> > > > right >>> > > > one. Check this from the produced war, do NOT trust what the ide is >>> > > > saying >>> > > > ;) >>> > > > >>> > > > Sometimes we have had problems like this, but those were because >>> maven >>> > > > dependencies affected to the included javassist version. >>> > > > >>> > > > We use java 6, and our compile targets are 1.6 in about ten >>> projects, >>> > we >>> > > > have multiple developers compiling with different versions of java >>> and >>> > > > haven't had any problems besides those javaassist version related. >>> > > > >>> > > > The version of javassist that gets included for us is 3.9.0.GA >>> > > > >>> > > > - Ville >>> > > > >>> > > > Ps. Below is the mvn configuration we're using w/ netbeans >>> > > > >>> > > > <plugin> >>> > > > <groupId>org.apache.maven.plugins</groupId> >>> > > > <artifactId>maven-compiler-plugin</artifactId> >>> > > > <configuration> >>> > > > <source>1.6</source> >>> > > > <target>1.6</target> >>> > > > <optimize>true</optimize> >>> > > > <encoding>UTF-8</encoding> >>> > > > <showDeprecation>true</showDeprecation> >>> > > > <showWarnings>true</showWarnings> >>> > > > </configuration> >>> > > > </plugin> >>> > > > >>> > > > >>> > > > Thiago H. de Paula Figueiredo wrote: >>> > > > > >>> > > > > Em Tue, 06 Oct 2009 17:39:17 -0300, Fermin Da Costa Gomez >>> > > > > <dacostago...@dcgconsultancy.nl> escreveu: >>> > > > > >>> > > > >> Using Eclipse, my Compiler compliance level is set at 1.5 already >>> > and >>> > > > >>> > > > >> still. What OS are you using? >>> > > > > >>> > > > > Ubuntu. But I guess it's not operating-system related. >>> > > > > >>> > > > >> The @OnEvent i understand but i can't find a 'ready made' entry >>> for >>> > > > the >>> > > > >> EventConstants. >>> > > > > >>> > > > > What do you mean by ready-made? EventConstants is just a class >>> that >>> > > > > declares String constants. You can use the event name directly if >>> you >>> > > > want >>> > > > > or need. >>> > > > > >>> > > > >> Do i make my own enum for that? >>> > > > > >>> > > > > No, event names are Strings. >>> > > > > >>> > > > >> And if so, how does that >>> > > > >> hook into the autocompleter mixin without additional coding? >>> > > > > >>> > > > > I'm not following you here. All events are hooked by name and, >>> > > > optionally, >>> > > > > component id, just that. >>> > > > > >>> > > > > -- >>> > > > > Thiago H. de Paula Figueiredo >>> > > > > Independent Java consultant, developer, and instructor >>> > > > > http://www.arsmachina.com.br/thiago >>> > > > > >>> > > > > >>> --------------------------------------------------------------------- >>> > > > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> > > > > For additional commands, e-mail: users-h...@tapestry.apache.org >>> > > > > >>> > > > > >>> > > > > >>> > > > >>> > > > -- >>> > > > View this message in context: >>> > > > >>> > >>> http://www.nabble.com/-t5--upgrade-to-java-6-and-javassist-tp25295834p25 >>> > > > 780245.html< >>> > > >>> > >>> http://www.nabble.com/-t5--upgrade-to-java-6-and-javassist-tp25295834p25%0A780245.html >>> > > > >>> > > > Sent from the Tapestry - User mailing list archive at Nabble.com. >>> > > > >>> > > > >>> > > > >>> --------------------------------------------------------------------- >>> > > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> > > > For additional commands, e-mail: users-h...@tapestry.apache.org >>> > > > >>> > > > >>> > > > >>> > > >>> > >>> ************************************************************************** >>> > > > >>> > > > Experience the British Library online at http://www.bl.uk/ >>> > > > >>> > > > The British Library’s new interactive Annual Report and Accounts >>> > 2007/08 >>> > > : >>> > > > http://www.bl.uk/knowledge >>> > > > >>> > > > Help the British Library conserve the world's knowledge. Adopt a >>> Book. >>> > > > http://www.bl.uk/adoptabook >>> > > > >>> > > > The Library's St Pancras site is WiFi - enabled >>> > > > >>> > > > >>> > >>> ************************************************************************* >>> > > > >>> > > > The information contained in this e-mail is confidential and may be >>> > > legally >>> > > > privileged. It is intended for the addressee(s) only. If you are not >>> > the >>> > > > intended recipient, please delete this e-mail and notify the mailto: >>> > > > postmas...@bl.uk : The contents of this e-mail must not be >>> disclosed >>> > or >>> > > > copied without the sender's consent. >>> > > > >>> > > > The statements and opinions expressed in this message are those of >>> the >>> > > > author and do not necessarily reflect those of the British Library. >>> The >>> > > > British Library does not take any responsibility for the views of >>> the >>> > > > author. >>> > > > >>> > > > >>> > >>> ************************************************************************* >>> > > > >>> > > > >>> > > > >>> --------------------------------------------------------------------- >>> > > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> > > > For additional commands, e-mail: users-h...@tapestry.apache.org >>> > > > >>> > > > >>> > > > >>> --------------------------------------------------------------------- >>> > > > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >>> > > > For additional commands, e-mail: users-h...@tapestry.apache.org >>> > > > >>> > > > >>> > > >>> > > >>> > > -- >>> > > “The reasonable man adapts himself to the world; the unreasonable one >>> > > persists in trying to adapt the world to himself. Therefore all >>> progress >>> > > depends on the unreasonable man.” >>> > > - George Bernard Shaw (1856 - 1950) >>> > > >>> > >>> >>> >>> >>> -- >>> “The reasonable man adapts himself to the world; the unreasonable one >>> persists in trying to adapt the world to himself. Therefore all progress >>> depends on the unreasonable man.” >>> - George Bernard Shaw (1856 - 1950) >>> >> >> > -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! (971) 678-5210 http://howardlewisship.com --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org