2011-09-27 1 views
1

J'ai une application web fonctionnant sur un (très vieux, je sais, mais je ne peux pas mettre à niveau) Tomcat 3.3.2 Final servlet container et j'ai récemment mis à jour la VM il fonctionne sur Java 6. Cela s'est bien passé alors j'ai essayé d'utiliser une fonctionnalité Java 5 (en particulier les génériques) dans une JSP de l'application, mais elle échoue, ne pas aimer la syntaxe. Pour ce que ça vaut, je mettais quelque chose d'aussi simple que cela:Force compilateur Tomcat 3.3 pour compiler les JSP en tant que Java 1.5

java.util.List<String> users= new java.util.Vector<String>(); 

dans une JSP et de laisser Jasper compiler, mais je reçois une erreur de compilation. Je sais que Tomcat utilise la bonne JVM, mais il ne semble pas utiliser le drapeau "-source 1.5" ou équivalent. Est-ce que quelqu'un sait comment je peux forcer mon Tomcat à compiler comme Java 5?

Répondre

1

Vous devez spécifier la version VM que vous souhaitez utiliser dans votre fichier de configuration de servlet (web.xml):

<init-param> 
    <param-name>compilerSourceVM</param-name> 
    <param-value>1.5</param-value> 
</init-param> 
<init-param> 
    <param-name>compilerTargetVM</param-name> 
    <param-value>1.5</param-value> 
</init-param> 
+0

Je mets cet extrait de code dans de mon application WEB-INF/fichier web.xml, juste au-dessous l'élément de premier niveau (c'est-à-dire en tant qu'enfant direct de '') mais cela n'a toujours pas aidé. D'autres suggestions? – Raj

+0

Je n'ai pas été en mesure de trouver et de corroborer des preuves, mais je suppose que Generics n'est pris en charge que sur les nouvelles versions de la spécification Servlet. Je crois que la première version de la spécification prenant en charge les fonctionnalités de langage Java 1.5 est Servlet 2.4/JSP 2.0, qui est prise en charge par Tomcat 5.5.x. Voir [versions d'Apache Tomcat] (http://tomcat.apache.org/whichversion.html). – gcastro

+0

Je craignais que cela puisse être le cas. Merci d'avoir enquêté. – Raj

Questions connexes