Hi, The maven project at apache.org doesn't mantain the Tomcat Plugin, please contact with the authors if nobody answers you in this list.
Regards Carlos Sanchez A Coru�a, Spain Oness Project http://oness.sourceforge.net > -----Original Message----- > From: Serge Huber [mailto:[EMAIL PROTECTED] > Sent: Thursday, August 12, 2004 4:58 PM > To: [EMAIL PROTECTED] > Subject: Codeczar Maven Tomcat Plugin improvements suggestions > > > Hi all, > > First of all thanks to the guys at codeczar for their plugin. > It's really helpful. > > I've recently started using the tomcat:jspc goal and I've had > a few problems. First of all it fails if I don't declare a > maven.war.src directory explicitely in my project.properties. > This might be due to the final version of the WAR plugin that > I'm using with Maven 1.0 final. > > Also, the JSP are translated into Java source code, but there > is no target to compile the source code which I find a shame. > > Last but not least the > @maven.tomcat.generated@ > to be inserted in the web.xml file is not very elegant > because if we don't execute the merge, we will end up with an > invalid web.xml file. I suggest to use something like this : > > <!-- ${maven.tomcat.generated} --> > > I have very limited knowledge of Jelly so I'm not sure how I > can help do all these changes. I am showing below some goals > that do implement all the stuff I've talked about, but they > are not integrated with the Tomcat plugin. The following code > has been tested with Tomcat 5.0.18 only. > > Regards, > Serge Huber. > > project.xml (extract & the same as the Tomcat plugin) : > ------------------------------------------------------- > <!-- Dependencies required for JSP precompilation --> > <dependency> > <groupId>tomcat</groupId> > <artifactId>catalina-ant</artifactId> > <version>5.0.18</version> > <properties> > <classloader>root</classloader> > </properties> > </dependency> > <dependency> > <groupId>tomcat</groupId> > <artifactId>jasper-compiler</artifactId> > <version>5.0.18</version> > </dependency> > <dependency> > <groupId>tomcat</groupId> > <artifactId>jasper-runtime</artifactId> > <version>5.0.18</version> > </dependency> > <dependency> > <groupId>commons-logging</groupId> > <artifactId>commons-logging</artifactId> > <version>1.0.3</version> > </dependency> > <!--dependency> > <groupId>commons-collections</groupId> > <artifactId>commons-collections</artifactId> > <version>3.0</version> > <properties> > <classloader>root</classloader> > </properties> > </dependency--> > <dependency> > <groupId>commons-el</groupId> > <artifactId>commons-el</artifactId> > <version>1.0</version> > <properties> > <classloader>root</classloader> > </properties> > </dependency> > <!--dependency> > <groupId>commons-daemon</groupId> > <artifactId>commons-daemon</artifactId> > <version>SNAPSHOT</version> > <properties> > <classloader>root</classloader> > </properties> > </dependency> > <dependency> > <groupId>xerces</groupId> > <artifactId>xerces</artifactId> > <version>2.4.0</version> > <properties> > <classloader>root</classloader> > </properties> > </dependency> > <dependency> > <groupId>xerces</groupId> > <artifactId>xercesImpl</artifactId> > <version>2.6.2</version> > <properties> > <classloader>root</classloader> > </properties> > </dependency> > <dependency> > <groupId>xerces</groupId> > <artifactId>xmlParserAPIs</artifactId> > <version>2.2.1</version> > <properties> > <classloader>root</classloader> > </properties> > </dependency--> > <dependency> > <groupId>servletapi</groupId> > <artifactId>servlet-api</artifactId> > <version>2.4-20040521</version> > <!--properties> > <classloader>root</classloader> > </properties--> > <type>jar</type> > </dependency> > <dependency> > <groupId>jspapi</groupId> > <artifactId>jsp-api</artifactId> > <version>2.0-20040521</version> > <!-- don't understand why I need root but throws class > not found otherwise --> > <properties> > <classloader>root</classloader> > </properties> > <type>jar</type> > </dependency> > > > <!--dependency> > <groupId>ant</groupId> > <artifactId>ant</artifactId> > <version>1.6.1</version> > <properties> > <classloader>root</classloader> > </properties> > </dependency--> > > project.properties : > -------------------- > # Set to true if you want JSP precompilation to happen after > war:webapp goal > precompile.jsp=true > > maven.xml : > ----------- > <project default="war" > xmlns:j="jelly:core" > xmlns:define="jelly:define" > xmlns:util="jelly:util" > xmlns:jasper="jasper" > xmlns:ant="jelly:ant"> > > <!-- > ================================================================ --> > <!-- Deploy to Catalina and Expand > --> > <!-- > ================================================================ --> > <define:taglib uri="jasper"> > <define:jellybean > name="JspC" > className="org.apache.jasper.JspC" > method="execute" > /> > </define:taglib> > > <preGoal name="war:webapp"> > <j:set var="precompileJsp" value="${precompile.jsp}"/> > <j:if test="${precompileJsp == 'true'}"> > <attainGoal name="precompile-jsp"/> > </j:if> > </preGoal> > > <postGoal name="war:webapp"> > <j:set var="precompileJsp" value="${precompile.jsp}"/> > <j:if test="${precompileJsp == 'true'}"> > <j:set var="target" > value="${pom.getPluginContext('maven-war-plugin').getVariable( > 'maven.war.webapp.dir')}"/> > <util:available file="${maven.build.dir}/web-fragment.xml"> > <util:loadText var="fragment" > file="${maven.build.dir}/web-fragment.xml"/> > <ant:replace file="${target}/WEB-INF/web.xml" token="<!-- > ${maven.tomcat.generated} -->" value="${fragment}"/> > </util:available> > </j:if> > > </postGoal> > > <goal name="precompile-jsp" description="Precompile all > JSPs into java > classes, and then into classes" prereqs="war:load,java:compile"> > <j:set var="warSource" > value="${pom.getPluginContext('maven-war-plugin').getVariable( > 'maven.war.src')}"/> > <ant:mkdir dir="${maven.build.dir}/jspc"/> > <ant:mkdir dir="${maven.build.dir}/jspc-processed"/> > <ant:mkdir dir="${maven.build.dir}/jspc-classes"/> > > <j:set var="jspOutDir" value="${maven.build.dir}/jspc"/> > <j:set var="jspClassesOutDir" value="${maven.build.dest}"/> > <ant:path id="jspc.classpath"> > <echo message="Java home=${java.home}" /> > <ant:pathelement location="${java.home}/../lib/tools.jar"/> > <ant:fileset dir="${tomcat.home}/bin"> > <ant:include name="*.jar"/> > </ant:fileset> > <ant:fileset dir="${tomcat.home}/server/lib"> > <ant:include name="*.jar"/> > </ant:fileset> > <ant:fileset dir="${tomcat.home}/common/lib"> > <ant:include name="*.jar"/> > </ant:fileset> > <ant:path refid="maven.dependency.classpath"/> > <ant:pathelement path="${maven.build.dest}"/> > </ant:path> > <jasper:JspC > webXmlFragment="${maven.build.dir}/web-fragment.xml" > package="${pom.package}.jsp.${maven.war.final.name}" > outputDir="${jspOutDir}" > srcdir="${warSource}" > uriroot="${warSource}" > uribase="/${pom.artifactId}" > verbose="2"/> > <ant:javac > srcdir="${jspOutDir}" > destdir="${jspClassesOutDir}" > debug="${maven.compile.debug}" > deprecation="${maven.compile.deprecation}" > optimize="${maven.compile.optimize}" > classpathref="jspc.classpath"/> > </goal> > > > > - -- --- -----=[ shuber2 at jahia dot com ]=---- --- -- - > www.jahia.org : A collaborative source CMS and Portal Server > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
