title: Targeting tomcat 9 instead of 7 with JSP
body: <p>I am trying to upgrade our tomcat from 7 to 9 and I have this error when tomcat tries to compile a jsp page.</p>
  
  <pre><code>Caused by: javax.servlet.ServletException: java.lang.NoSuchMethodError: org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(Ljava/lang/String;Ljava/lang/Class;Ljavax/servlet/jsp/PageContext;Lorg/apache/jasper/runtime/Protect
  edFunctionMapper;Z)Ljava/lang/Object;
          at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:666)
  </code></pre>
  
  <p>Somehow tomcat is compiling JSP (JSTL actually) to an old version (I can see that in tomcat 7 the <code>proprietaryEvaluate</code> <a href="https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/jasper/runtime/PageContextImpl.html#proprietaryEvaluate(java.lang.String,%20java.lang.Class,%20javax.servlet.jsp.PageContext,%20org.apache.jasper.runtime.ProtectedFunctionMapper,%20boolean)" rel="nofollow noreferrer">function</a> has a last parameter of type boolean which is not there in <a href="https://tomcat.apache.org/tomcat-9.0-doc/api/org/apache/jasper/runtime/PageContextImpl.html#proprietaryEvaluate-java.lang.String-java.lang.Class-javax.servlet.jsp.PageContext-org.apache.jasper.runtime.ProtectedFunctionMapper-" rel="nofollow noreferrer">tomcat 9</a>).</p>
  
  <p>Where can I specify in my app that now I am targeting tomcat 9?</p>
  
  <p>Thanks</p>