小编szy*_*mex的帖子

如何从JAR文件获取Jetty加载资源?

我在Jetty 8上运行JSF应用程序。出于某种原因,我没有一个带有Web资源的jar文件(/META-INF/resources/test.xhtml),该资源的上下文未添加到WebAppContext中。当我使用Maven Jetty插件时,服务器会添加Web上下文,并且可以访问文件“ test.xhtml”。

如何从JAR文件获取Jetty加载资源?

jsf jar jetty web-content

5
推荐指数
0
解决办法
584
查看次数

Jetty上的JSF2随机提供"zip文件关闭",但是从maven jetty插件运行时可以正常工作(jetty:run)

我的JSF Web应用程序在访问文件(如图像,css,js)时发出随机错误:"zip file closed".它部署在Jetty 7上.看起来有些文件未加载(页面上缺少某些图像).

java.lang.IllegalStateException: zip file closed
    at java.util.zip.ZipFile.ensureOpen(ZipFile.java:403)
    at java.util.zip.ZipFile.entries(ZipFile.java:298)
    at java.util.jar.JarFile.entries(JarFile.java:217)
    at org.eclipse.jetty.util.resource.JarFileResource.list(JarFileResource.java:261)
    at org.eclipse.jetty.util.resource.ResourceCollection.list(ResourceCollection.java:421)
    at org.eclipse.jetty.util.resource.Resource.getListHTML(Resource.java:509)
    at org.eclipse.jetty.servlet.DefaultServlet.sendDirectory(DefaultServlet.java:741)
    at org.eclipse.jetty.servlet.DefaultServlet.doGet(DefaultServlet.java:564)
Run Code Online (Sandbox Code Playgroud)

当我从maven插件(7.x)运行它与jetty:run或jetty:run-war然后我没有得到任何错误.更重要的是,访问Web上下文的根路径只会在独立的jetty上运行时出现"zip file closed"错误,但是当从maven pluging运行时没有这样的错误,那么就是那些目录视图.

我的web.xml:

   <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

pom.xml中:

  ....
  <dependencies>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-api</artifactId>
        <version>2.1.3</version>
    </dependency>
    <dependency>
        <groupId>com.sun.faces</groupId>
        <artifactId>jsf-impl</artifactId>
        <version>2.1.3</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
    </dependency>
    <dependency>
        <groupId>taglibs</groupId>
        <artifactId>standard</artifactId>
        <version>1.1.2</version>
    </dependency>
</dependencies>
....
<plugin>
        <groupId>org.mortbay.jetty</groupId>
        <artifactId>jetty-maven-plugin</artifactId>
        <version>7.5.1.v20110908</version>

        <configuration>
            <scanIntervalSeconds>10</scanIntervalSeconds>
        </configuration>
        <dependencies>
            <dependency>
                <groupId>com.sun.faces</groupId>
                <artifactId>jsf-api</artifactId>
                <version>2.1.3</version>
            </dependency>
            <dependency> …
Run Code Online (Sandbox Code Playgroud)

jetty jsf-2

4
推荐指数
1
解决办法
3720
查看次数

标签 统计

jetty ×2

jar ×1

jsf ×1

jsf-2 ×1

web-content ×1