package javax.el does not exist

2019-04-29 04:58发布

问题:

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

回答1:

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.



回答2:

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.



回答3:

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>


回答4:

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.



回答5:

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 :)



标签: java el