2013-02-20 2 views
3

배포 후에 응용 프로그램 서버에서 web.xml (또는 실제로 다른 파일)을 변경하는 것이 좋습니다? 모든 응용 프로그램 서버가 배포/디렉토리 구조를 노출합니까?배포 후 web.xml 변경

로컬 변경, 전쟁 (또는 .ear 등)의 재 구축, 응용 프로그램의 재배포를 선호합니다.

의견이나 제안. 감사.

답변

2

첫 번째 질문에 대해서는 자원 유형에 따라 다릅니다. 클래스 경로 자원의 경우 응용 프로그램 서버의 클래스 로딩 메커니즘 (Tomcat을 사용하는 경우 예를 들어 $ CATALINA_HOME/lib)의 우선 순위가 높은 모든 디렉토리에서 파일을 겹쳐 쓸 수 있습니다. web.xml과 같은 xml 파일의 경우 패키지 파일에서 외부 경로를 절대 경로로 선언 할 수 있지만 파일이 대상 서버에 있는지 확인해야합니다. 예를 들어, 패키지의 web.xml은 그렇게 볼 수 있었다 : 임시 \ web.xml을 \

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE document [ 
<!ENTITY webEntity SYSTEM 'C:\Temp\web.xml'> 
]> 
&webEntity; 

그래서은 web.xml의 실제 내용은 파일 C의 함유량이 될 것입니다.

간단히 말해서 공식적인 방법은 없지만 속임수가 있습니다. 사람들이하는 일은 각 제작 사이트마다 맞춤 패키지를 만드는 것입니다. war 오버레이 나 분류 자와 같은 Maven으로 이것을 자동화하는 방법은 여러 가지가 있습니다. 여기에 an interesting link입니다.

두 번째 질문에 대해서는이 가정에 의존하지 않습니다. Tomcat 서버에서 분해 된 자원을 수정하는 것은 아주 간단 합니다만 JBoss AS에서는 그렇게 간단하지 않습니다.

안부

+0

@BalusC는 주목 : http://stackoverflow.com/questions/25928486/tomcat-include-another-xml-file-to-web-xml 엔티티가 접근 결선도 취약점하고 있음 패치 예정. 나는 확실히 그 길을 가지 않을 것이다. https://bugzilla.redhat.com/show_bug.cgi?id=1069911 – JoshC13

관련 문제