简体   繁体   中英

Apache Velocity + Servlet 3.0

I'm upgrading from servlet 2.5 to 3.0, and I'm using Apache Velocity for templating, after a mvn dependency:tree I see velocity-tools depends on servlet-api:jar:2.3, there's a way to use servlet 3.0 with Apache Velocity?

Thanks in advance

Maven dependencies don't mean I need exactly this version of the library , but almost I need at least this version . This means that if you declare a dependency on version 3.0 of the servlets library, that is the one that's going to be used.

And the 3.0 version of the servlets specification is backwards compatible with the 2.5 version, meaning that whatever Velocity needs from Servlets is going to be available.

I had the same problem; my Servlet 3.0 project wouldn't compile because servlet-api 2.3 was on the Maven classpath as a dependency of Velocity Tools.

The work-around is to declare the Velocity dependency as runtime so at compile-time the project still builds with Servlet 3.0

<dependency>
   <groupId>org.apache.velocity</groupId>
   <artifactId>velocity-tools</artifactId>
   <version>2.0</version>
   <scope>runtime</scope>
</dependency>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM