2011-01-23 2 views
1

WEB-INF의 일부 리소스를 필터링하기 위해 maven-war-plugin을 사용하고 있습니다.즉석에서 필터링하는 Maven webResources

var url = ${contextRoot}/save.json; 

또는

<link href="static/css/layout-${buildNumber}.css"/> 

모든 것이 환상적으로 작동합니다 : 대부분 같은 정적 물건을 물건. 내 문제는 그것이 개발 악몽을 만들었습니다. 나는 일반적으로 로컬 Tomcat에 배포하고 IDE는 변경 사항을 (저장시) 대상 디렉토리에 복사합니다. 그러나 그 일이 생길 때 원래 파일 대신에 전쟁 플러그인에 의해 대체 된 $ {property}로 끝납니다. 각 변경 사항을 다시 배포하지 않고도보기/정적 리소스 변경을 테스트하는 것을 선호합니다.

Tomcat 플러그인을 실행하는 데 혼란을 겪었지만 배포 할 때 리소스 필터링을 사용하지 않으면 사용하지 않을 수 있습니다.이 경우에는 핫스왑 기능이 손실됩니다.

저는 스프링을 사용하고 있습니다. 주제를 사용하고, 테마 속성을 필터링 한 다음,이를 사용하여 내보기의 값을 대체하는 것이 좋습니다. 하지만 js/css/기타 정적 물건은 어떻습니까?

전쟁 플러그인을 "즉석에서 필터링"할 수있는 방법이 있습니까? 누구든지 내가하려는 일을 더 잘 수행하도록 권장 할 수 있습니까? 나는 너무 오랫동안 그것을보고 있었고 그 문제에 대해 터널 비전을 가지고있는 것처럼 느껴집니다.

+0

'속성'이 정의 된 기본 프로필이 있습니까? 또한'바람둥이 : 런 - 워 (run-war) '를 시도 했습니까? – Nishant

+0

@Nishant 예, 속성이 정의 된 프로필 설정이 있습니다. 예, 나는'바람둥이 : run-war'을 시도했고 핫스왑을 잃어 버렸습니다 (기술적으로 핫스왑은 여전히 ​​작동했지만 원래 배에서 돌아 왔고 속성은 대체되지 않았습니다). –

+0

이 이상합니다. 나는' true '를 사용하면 효과가 있다고 생각했다. – Nishant

답변

1

결국 나는 동일한 방법을 유지했지만 이것을 달성하기 위해 나의 접근 방식을 변경했습니다. 자바 스크립트를

, 나는 하나의 상수 파일에 필터를 적용 할 필요가 물건을 올려 :

// Constants.js 

var BASE_URL = '${contextRoot}'; 

이 뒤에 그 이유는 Constants.js 파일이 매우 드물게 수정하지 않고 해당 파일을 가지고있는 문제를 방지 할 것입니다 즉석에서 재배포했다.

다른 예제는 ${buildNumber}을 사용하여 배포시 브라우저 리소스 캐싱을 피했습니다.

<link href="static/css/layout.css?${buildNumber}"/> 
2

당신이 m2e과 함께 일식 사용하는 경우 m2e-WTP, 당신은 즉석에서 웹 리소스 필터링을 얻을 수 있습니다 : 나는 쿼리 문자열에 빌드 번호를 추가하는 것은 단지뿐만 아니라 일 것을 발견했다. https://community.jboss.org/en/tools/blog/2011/05/03/m2eclipse-wtp-0120-new-noteworthy

을 그리고 거기 시연 : 이 여기에 설명

http://bit.ly/wGcD4j이 비디오에서 메이븐 프로파일 관리 UI는 JBoss의 도구 3.3.0.Beta1에서 오는 것을 (HTTP : //docs.jboss .org/tools/whatsnew/maven/maven-news-3.3.0.Beta1.html)

+0

데모가 좋습니다! –

관련 문제