volvox
volvox

Reputation: 3060

package javax.el does not exist

i'm using jre6/eclipse and importing javax.el.* the error

package javax.el does not exist [javac] import javax.el.*;

comes up. isn't this supposed to be part of java? can anyone tell me why this might be. thanks m

Upvotes: 9

Views: 9070

Answers (5)

Jonathan Feinberg
Jonathan Feinberg

Reputation: 45324

The servlet API is not "part of Java"; it's defined by the Java EE ("enterprise edition"), and can be found in the libraries provided by your servlet container.

Upvotes: 1

McDowell
McDowell

Reputation: 108899

EL (the Unified Expression Language) is part of the Java EE spec. You can find this library as part of any Java EE server or JSP container. Implementations are also available separately from Glassfish, Apache or JUEL.

Upvotes: 7

iltaf khalid
iltaf khalid

Reputation: 10318

I had the same issue. I had to include the jar tomcat/lib/el-api.jar to my web-inf/lib folder and ant build worked fine :)

Upvotes: 0

volvox
volvox

Reputation: 3060

I am developing through eclipse. I am not currently using a Dynamic Web Project but I am using ant to build the app.

Having already included this (ages ago and then forgetting):

I then add el-api.jar to my servlet container setup:

<path id="compile.cliClasspath">
    <fileset dir="${cliLibDir}">
        <include name="*.jar" />
    </fileset>
    <fileset dir="${cliTomcatlib}">
        <include name="servlet-api.jar" />
        <include name="jsp-api.jar" />
        <include name="el-api.jar" />
    </fileset>
</path>

Upvotes: 2

BalusC
BalusC

Reputation: 1108802

This is usually part of the servlet container in question (a servlet container is basically a concrete implementation of the Servlet/JSP/EL parts of the abstract Java EE API). The needed libraries are usually available in ServerInstallFolder/lib. You basically need to just include it in the compiletime classpath.

However, when developing in Eclipse, it's normal practice that you integrate the server in question in the Servers view and associate the Dynamic Web Project with it. In the servers view, just add a new server and locate the existing server installation. Then you should see this listed during Dynamic Web Project creation wizard. You can also add/change it afterwards in Servers section of the project properties.

Once done that, Eclipse will just automagically include the server's libraries in the Build Path of the project (read: the IDE-managed classpath which is used in both compile- and runtime), including the javax.el ones.

Upvotes: 3

Related Questions