有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

jsf-java。lang.NoClassDefFoundError:javax/faces/context/FacesContext

我在Eclipse中有两个web项目:框架和webxxx

在我的框架中,我有一些功能,比如复制、下载、上传等等

当我从webxxx调用下载方法时,我得到了*java.lang.NoClassDefFoundError: javax/faces/context/FacesContext*.

如果我将GerenciarArquivo类移动到webxxx项目,downloadFile方法可以正常工作

框架:

public abstract class GerenciarArquivo{
...
public static void downloadFile(String filePath) throws IOException{
    FacesContext context = FacesContext.getCurrentInstance();  
    HttpServletResponse response = (HttpServletResponse) context  
                         .getExternalContext().getResponse(); 

WEBXXX项目:

GerenciarArquivo.downloadFile(abb.getPath());

这两个项目都有:

enter image description here enter image description here

Web xxx项目依赖关系:

<dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>6.0</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>org.primefaces</groupId>
        <artifactId>primefaces</artifactId>
        <version>3.5</version>
    </dependency>

    <dependency>
        <groupId>org.primefaces.themes</groupId>
        <artifactId>all-themes</artifactId>
        <version>1.0.9</version>
    </dependency>


    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.2.4</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.2.4</version>
        <scope>provided</scope>
    </dependency>       

    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>3.0-alpha-1</version>
        <scope>provided</scope>
</dependency>

框架依赖关系:

<dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>6.0</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.1.9.Final</version>
    </dependency>
    <dependency>
        <groupId>javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.1</version>
    </dependency>
    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.2</version>
    </dependency>
</dependencies>

共 (2) 个答案

  1. # 1 楼答案

    加上这个依赖,这就解决了我的

    class not found exception : javax.faces.context.facesContext .

    <dependency>
         <groupId>javax</groupId>
         <artifactId>javaee-web-api</artifactId>
         <version>6.0</version>
         <scope>provided</scope>
    </dependency>
    
  2. # 2 楼答案

    转到您的Oracle->;中间件->;模块->;复制javax。jsf_1.2.0.1。罐装并贴在耳朵上->;APP-INF->;然后重新启动服务器。为我工作