首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jetty java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

Jetty java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet
EN

Stack Overflow用户
提问于 2015-10-28 16:14:57
回答 1查看 730关注 0票数 0

我可以为开发人员提供一个最小的Jetty服务器,用于运行我用primefaces/java编写的应用程序,这个应用程序是在AtomicServerWeb.war文件中编译的

我的代码AtomicServer.java / AtomicServer.jar

代码语言:javascript
复制
 package atomicserver;

 import org.eclipse.jetty.server.Server;
 import org.eclipse.jetty.webapp.WebAppContext;

 public class AtomicServer {

    public static void main(String[] args) throws Exception {

    //System.setProperty("org.eclipse.jetty.LEVEL", "DEBUG");
    Server server = new Server(8080);

    org.eclipse.jetty.webapp.Configuration.ClassList classlist = org.eclipse.jetty.webapp.Configuration.ClassList.setServerDefault(server);
    classlist.addAfter("org.eclipse.jetty.webapp.FragmentConfiguration", "org.eclipse.jetty.plus.webapp.EnvConfiguration", "org.eclipse.jetty.plus.webapp.PlusConfiguration");

    WebAppContext context = new WebAppContext();

    context.setWar("../../AtomicServerWeb/dist/AtomicServerWeb.war");
    context.setContextPath("/");
    context.setParentLoaderPriority(false);

    server.setHandler(context);

    server.start();
    server.join();
    }
}

错误日志..。

代码语言:javascript
复制
Y:\JavaSistemas\AtomicServer\dist>java -jar AtomicServer.jar
2015-10-28 13:58:54.371:INFO::main: Logging initialized @395ms
2015-10-28 13:58:55.046:INFO:oejs.Server:main: jetty-9.3.z-SNAPSHOT
2015-10-28 13:58:56.703:INFO:oejw.StandardDescriptorProcessor:main: NO JSP 
Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
2015-10-28 13:58:56.751:WARN:oejs.BaseHolder:main:
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

大胸。我还试图使用jetty-runner.jar运行,但错误是这样的。

代码语言:javascript
复制
java -jar jetty-runner-8.1.9.v20130131.jar --port 9090 --log saida.log ../AtomicServerWeb/dist/AtomicServerWeb.war


2015-10-28 13:57:30.563:INFO:omjr.Runner:Runner
2015-10-28 13:57:30.564:WARN:omjr.Runner:No tx manager found
2015-10-28 13:57:30.753:INFO:omjr.Runner:Deploying file:/Y:/JavaSistemas/AtomicServerWeb/dist/AtomicServerWeb.war @ /
2015-10-28 13:57:31.257:INFO:oejs.Server:jetty-8.y.z-SNAPSHOT
2015-10-28 13:57:31.399:INFO:oejw.WebInfConfiguration:Extract jar:file:/Y:/JavaSistemas/AtomicServerWeb/dist/AtomicServerWeb.war!/ to C:\Users\marcos.ti.DALMOBILE\AppData\Local\Temp\jetty-0.0.0.0-9090-AtomicServerWeb.war-_-any-\webapp
2015-10-28 13:57:33.287:INFO:oejpw.PlusConfiguration:No Transaction manager found - if your webapp requires one, please configure one.
2015-10-28 13:57:35.563:WARN:oejs.Holder:
java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet

Obs2:

在我的netbeans上,这个应用程序使用GlassFish运行,而且我没有问题。

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-10-28 16:22:25

您需要添加以下依赖项:

  • jsf-api.jar
  • jsf-impl.jar

Glassfish和Jetty之间的区别在于,Glassfish是一个java应用服务器,它已经具有这些依赖关系。Jetty不是am应用服务器,只是一个像tomcat这样的web服务器,所以您需要添加所有所需的依赖项。

如果使用maven,可以按以下方式添加依赖项:

对于Jsf的Mojarra实现

代码语言:javascript
复制
    <!-- JSF -->
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>${jsf.version}</version>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>${jsf.version}</version>
    </dependency>

编辑

要解决NoCLassDefFound ExpressionFactory问题,需要添加以下jar:

  • 厄尔波尔 org.glassfish.web el-impl ${el.version}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33396196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档