GlassFish 3.1.1에서 실행되는 JSF 2.0 응용 프로그램을 가지고 있으며 내 WAR가 만들어 질 때 내 응용 프로그램 루트와 물리적으로 떨어져있는 정적 웹 페이지를 제공해야합니다 파일이 배포되었습니다. 내가 Glassfish를 사용하여 JSF 응용 프로그램에서 정적 웹 페이지를 제공하는 방법
<property name="alternatedocroot_1" value="from=/myimages/* dir=/images"/>
내가 감히 것 sun-web.xml에 (추가와 같은 태그를 사용 DOCROOT 대체를 정의하는 다양한 참조를 (같은
this one 및
this one) 발견했습니다는 글래스 피쉬 3.1 글래스 피쉬-web.xml의 의미 .1). 그러나 나는 그것을 작동시키지 못합니다.
이
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
<property name="alternatedocroot_1" value="from=/myimages/* dir=/images"/>
</glassfish-web-app>
내 응용 프로그램 정의의 고기 보인다
이 훨씬 더 될 : 내 경우, 나는 문제가 글래스 피쉬-web.xml을 단순히 어떤 의미를 가지고 대체 docroot를위한 충분한 컨텍스트를 정의되지 않는다는 생각 glassfish-web.xml보다 web.xml. 대체 docroot를 참조하기 위해 그 대신에 무언가를 넣어야합니까?
실제로 Windows에서는'dir ='값 앞에'C : '를 붙이지 않는 한 도메인 루트에서 검색하는 것으로 보입니다. 그러나 유효한 경로를 제공하더라도 다음과 같은 오류가 발생합니다. '심각 : 앱로드 중 예외 : java.lang.IllegalStateException : ContainerBase.addChild : start : org.apache.catalina.LifecycleException : java.lang.IllegalArgumentException : javax.servlet.ServletException : com.sun.enterprise.container.common.spi.util.InjectionException : 클래스 org.jboss.weld.servlet.WeldListener'의 관리 객체를 만드는 중 오류가 발생했습니다. 그래서 내 구성 질문에 대한 답변을 추측합니다. –
오른쪽. Windows는 이상한 짐승입니다. 답변을 업데이트했습니다. 새로운 문제에 대해서는 대체 docroot를 제거 할 때이 예외가 사라지나요? – BalusC
대체 docroot를 제거했을 때 예외가 사라지지 않았으므로 다시 넣었습니다. Glassfish가 다시 시작되었습니다. 이제는 제대로 작동합니다. 구성에 대한 영어 설명은 다음과 같습니다. alternatedocroot 속성의'value' 속성에서'from' 패턴과 일치하는 URI의 경우 실제 파일 경로는'dir' 경로의 값과 같습니다. 문맥/앱 이름을 따르는 URI 부분. –