2014-06-14 5 views
1

jar 종속성 (다른 모듈) 내에 압축 된 일부 Spring 구성 요소가있는 모듈 식 웹 응용 프로그램을 빌드하고 있습니다. 이 jar에는 다음과 같은 JSP 자원도 들어 있습니다.jar의 JSP 파일 재정의 META-INF/resources unexpected 예기치 않은

 
- Module 
    + src/main/resources/META-INF/resources/module/*.jsp 

이제 응용 프로그램에서 다음 구조를 사용하여 특정 JSP를 대체하려고합니다.

 
- App 
    + src/main/resources/META-INF/resources/module/menu.jsp 

가 때때로 무시 menu.jsp을 보여줍니다하지만 후속 실행은 이전에 끝날 것 tomcat7:run를 사용하여 응용 프로그램을 실행합니다.

tomcat7:run-war으로 실행하는 것이 더 유망했습니다. 대부분의 실행에는 새로운 menu.jsp가 표시됩니다. 그러나 다른 Tomcat 7 인스턴스에 응용 프로그램을 배포 할 때 이전 메뉴가 다시 한번 표시됩니다.

menu.jsp는 사용자 정의 태그에 의해 호출되는 pageContext.include("/module/menu.jsp");을 사용하여 포함됩니다.

이 재정의 리소스를보다 안정적으로 만들 수있는 방법은 무엇입니까? 나는 그것이 무작위로 일하는 것처럼 보이기 때문에 완전히 우둔 해요. 누군가 여기서 빛을 비출 수 있기를 바랍니다.


관련이 있지만 구성 요소 검색을 사용할 수 있는지 확실하지 않은 경우 다음 플러그인 구성으로 jar 클래스의 압축을 풀어야합니다.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <executions> 
     <execution> 
      <id>unpack</id> 
      <phase>process-resources</phase> 
      <goals> 
       <goal>unpack</goal> 
      </goals> 
      <configuration> 
       <overWriteIfNewer>false</overWriteIfNewer> 
       <artifactItems> 
        <artifactItem> 
         <groupId>my.company</groupId> 
         <artifactId>my-dependency</artifactId> 
         <version>1.0-SNAPSHOT</version> 
         <type>jar</type> 
         <outputDirectory>${project.build.directory}/classes</outputDirectory> 
         <includes>**/*.class</includes> 
        </artifactItem> 
       </artifactItems> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

답변

2

많은 머리카락을 당긴 후 매우 간단한 실수를 저질렀습니다. 지금

 
- App 
    + src/main/webapp/module/menu.jsp 

모든 것이 예상처럼 작동 위치에

 
- App 
    + src/main/resources/META-INF/resources/module/menu.jsp 

를 옮겼습니다.