Issue
My project POM has following plugins-
<build>
<plugins>
<plugin>
<groupId>org.jasig.mojo.jspc</groupId>
<artifactId>jspc-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<sources>
<directory>${basedir}/src/main/webapp/</directory>
<includes>
<include>**/*.jsp</include>
</includes>
</sources>
<includeInProject>false</includeInProject>
<validateXml>false</validateXml>
</configuration>
<dependencies>
<dependency>
<groupId>org.jasig.mojo.jspc</groupId>
<artifactId>jspc-compiler-tomcat8</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.5.3</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
<encoding>utf8</encoding>
</configuration>
</plugin>
</plugins>
</build>
I'm using apache-maven-3.6.3 and Intellij IDE for building my project. But when executing mvn clean verify, I get the error-
Failed to execute goal org.jasig.mojo.jspc:jspc-maven-plugin:2.0.2:compile: Failed to compile JSPS
Solution
It is due to in tomcat 7 by default SKIP IDENTIFIER CHECK feature is false.
Hence supply-Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true
as an argument while maven clean installing.
Alternatively a work around is also to use org.apache.sling jspc-maven-plugin
<plugin>
<groupId>org.apache.sling</groupId>
<artifactId>jspc-maven-plugin</artifactId>
<version>2.2.2</version>
<executions>
<execution>
<id>compile-jsp</id>
<goals>
<goal>jspc</goal>
</goals>
</execution>
</executions>
</plugin>
Answered By - Caffeine Coder