I had this the other day when trying alpha-2. Somehow I got it working
by adding the following deps to the plugin:
          <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.4.1</version>
          </dependency>

          <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl104-over-slf4j</artifactId>
            <version>1.4.1</version>
          </dependency>
Presumably because the compiler uses a logger. Now why it "suddenly"
stopped working for you, I don't know. Maybe another project or parent
pom brought in different version of one of the artifacts? Check with
mvn help:effective-pom ?

hth,

-g


2008/9/11 Randy Eckhoff <[EMAIL PROTECTED]>:
> I've been using maven2 with the org.codehaus.mojo.jspc maven plugin
> for quite some time. Just the other day, jsp builds suddenly stopped working
> with the "No java compiler available" message.
>
> My pom looks like:
>         <plugin>
>             <groupId>org.codehaus.mojo.jspc</groupId>
>             <artifactId>jspc-maven-plugin</artifactId>
>             <executions>
>                 <execution>
>                   <configuration>
>                     <includeInProject>true</includeInProject>
>                   </configuration>
>                     <goals>
>                          <goal>compile</goal>
>                     </goals>
>                 </execution>
>             </executions>
>
>             <!-- Use the Tomcat 5 JSP compiler -->
>             <dependencies>
>                 <dependency>
>                     <groupId>org.codehaus.mojo.jspc</groupId>
>                     <artifactId>jspc-compiler-tomcat5</artifactId>
>                     <version>2.0-alpha-1</version>
>                 </dependency>
>             </dependencies>
>         </plugin>
>         <plugin>
>             <groupId>org.apache.maven.plugins</groupId>
>             <artifactId>maven-war-plugin</artifactId>
>             <configuration>
>                 <webXml>${pom.basedir}/target/jspweb.xml</webXml>
>             </configuration>
>         </plugin>
> This has been unchanged for a long time. I use tomcat5 which means it is
> using tomcat 5.5.15 jars. I confirmed that the jasper-compiler-5.5.15.jar
> and jasper-compiler-jdt-5.5.15.jar are on the classpath by doing a maven -X
> install. So in theory, the org.apache.jasper.JspCompilationContext
> createCompiler() method (yes i started digging in the tomcat source code):
>
>         if (options.getCompiler() == null) {
>             jspCompiler =
> createCompiler("org.apache.jasper.compiler.JDTCompiler");
>             if (jspCompiler == null) {
>                 jspCompiler =
> createCompiler("org.apache.jasper.compiler.AntCompiler");
>             }
>         } else {
>             jspCompiler =
> createCompiler("org.apache.jasper.compiler.AntCompiler");
>             if (jspCompiler == null) {
>                 jspCompiler =
> createCompiler("org.apache.jasper.compiler.JDTCompiler");
>             }
>         }
>         if (jspCompiler == null) {
>             throw new
> IllegalStateException(Localizer.getMessage("jsp.error.compiler"));
>         }
> should resolve the JDTCompiler and AntCompiler since the jars are on the
> classpath. The IllegalStateException is the exception being thrown:
>
> java.lang.IllegalStateException: No Java compiler available
>         at
> org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:224)
>         at org.apache.jasper.JspC.processFile(JspC.java:979)
>
> I saw that 2.0-alpha-2 version came out this month so I tried that with no
> luck.
>
> I am using Artifactory as my maven repo. For the common jars, it just grabs
> from the maven2 repo. I deleted everything out of my artifactory repo cache
> to force it to re-retrieve what the build needs. I also deleted my local
> maven repo directory. All resulted in failure. I also bounced artifactory
> which didn't work.
>
> I triple checked that the jasper compiler jars (both of them) are on my
> machine and they are listed in the classpath for the build. Usually this
> type of error means something is missing from the classpath. If the jasper
> compiler jars are on the classpath, what else would be missing all of a
> sudden. It's been working for almost a year just fine. I'm guessing that
> maybe JDTCompiler can't be loaded because a dependency it has on something
> can't be found.
>
> I based my implementation on:
> http://mojo.codehaus.org/jspc/jspc-maven-plugin/usage.html, changing tomcat
> 6 to tomcat 5 and adding version because maven complained about requiring a
> version element.
>
> I searched the web the last 2 days and didn't find anyone else having this
> problem. Which tells me a configuration/dependency issue on my end. But
> nothing has changed here.
>
> And it isn't just my own development machine. The buildmachine (using
> Teamcity) is also failing with the same exact error.
>
> Any ideas where to start looking? Are others seeing this behavior where jspc
> is suddenly failing?
>
>
> Randy Eckhoff
> Principal Engineer, Architect
> GoFish Corporation
> [EMAIL PROTECTED]
> http://www.gofishcorp.com
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to