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>