2011-03-22 79 views
3

我有以下/ WEB-fragment.xml之在一個jar文件,在META-INF如何讓網絡fragment.xml之工作

我似乎無法得到它的工作(雖然我認爲這在以前沒有測試)。

相同的內容在web.xml中起作用。

Web應用程序本身就是一個耳朵的一部分,但我不希望那麼重要。

我嘗試了< web-app>標記和< web-fragment>。在哪裏參考文件,順便說一句?

這個想法是將我的jar包括在我耳朵的所有戰爭(10+)中,以便在一個地方實現共同的東西(認證,...)。現在的問題是關於web-fragment,一旦我可以遷移到web-fragment,我就會得到一些工作(web.xml中就是這種情況)。

標籤本身在2.5之前,將其更改爲3.0(並清理項目以確保)。

<?xml version="1.0" encoding="UTF-8"?> 

<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> 
    <context-param> 
     <param-name>javax.faces.FACELETS_RESOURCE_RESOLVER</param-name> 
     <param-value>be.epc.common.web.util.EpcResourceResolver</param-value> 
    </context-param>  
    <error-page> 
     <error-code>403</error-code> 
     <location>/epcResources/noaccess.jsf</location> 
    </error-page>  
    <error-page> 
     <exception-type>javax.ejb.AccessLocalException</exception-type> 
     <location>/epcResources/noaccess.jsf</location> 
    </error-page> 
    <error-page> 
     <error-code>404</error-code> 
     <location>/epcResources/notfound.jsf</location> 
    </error-page> 
    <error-page> 
     <error-code>500</error-code> 
     <location>/epcResources/error.jsf</location> 
    </error-page> 
    <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> 
     <url-pattern>/icefaces/*</url-pattern> 
     <url-pattern>*.jsf</url-pattern> 
    </servlet-mapping> 
    <security-constraint> 
     <web-resource-collection> 
      <web-resource-name>Toutes pages</web-resource-name> 
      <description/> 
      <url-pattern>*.xhtml</url-pattern> 
      <url-pattern>*.jsf</url-pattern> 
     </web-resource-collection> 
     <auth-constraint> 
      <description/> 
      <role-name>APP_EPC</role-name> 
     </auth-constraint> 
     <user-data-constraint> 
      <description>HTTPS</description> 
      <transport-guarantee>CONFIDENTIAL</transport-guarantee> 
     </user-data-constraint> 
    </security-constraint> 
    <login-config> 
     <auth-method>FORM</auth-method> 
     <realm-name>epcRealm</realm-name> 
     <form-login-config> 
      <form-login-page>/unauthenticated-redirect.jsp</form-login-page> 
      <form-error-page>/unauthenticated-redirect.jsp</form-error-page> 
     </form-login-config> 
    </login-config> 
    <security-role> 
     <description/> 
     <role-name>APP_EPC</role-name> 
    </security-role> 
</web-app> 

回答

0

好吧,我失去了它一些時間,但它是非常簡單的。

我使用Netbeans,並期望它將CommonWeb.jar放入我的WAR的WEB-INF/lib中。它沒有。我不知道爲什麼它爲一些圖書館而不是其他人。

無論如何,我只是取消選中我的WAR項目屬性的lib目錄下的「package」,併爲項目屬性/包裝中的同一個jar添加了一個條目,將WEB-INF/lib指定爲路徑。經典的東西,我不是很自豪,因爲不得不要求這樣的事情;-)

0

嘗試通過更換「web應用程序」標籤「網頁片段」

+0

正如我所說,我試過,沒有任何運氣。此外,這樣做時,它不再驗證(和netbeans有內部例外),這是可疑的:我使用了一個錯誤的模式? – ymajoros 2011-03-22 10:46:20

+0

(已編輯的問題,標籤名稱未顯示) – ymajoros 2011-03-22 15:11:48