2011-08-12 2 views
2

Maven 프로젝트 개발을 위해 Eclipse를 사용하고 있습니다.Maven 프로젝트 용으로 Eclipse에서 문자열을 "리소스"로 외부화하는 방법은 무엇입니까?

Eclipse에서 externalize Strings 마법사를 사용하려고했습니다. 기본적으로 결과는 messages.properties이며 "src/main/java"폴더에 있습니다. 그러나, Maven으로 프로젝트를 패키징 할 때, 생성 된 jar 파일에서 특성 파일을 버린다. 따라서 "src/main/resources"폴더로 message.properties를 이동하려고 시도했지만 Eclipse가 동의하지 않는 것처럼 보입니다!

기업에서 상당히 표준화되어 있기 때문에 차라리 pom.xml을 수정하지 않을 것입니다. 그렇다면 이클립스가 "src/main/java"속성 파일을 받아들이도록 강제하는 방법이 있는가?

도움 주셔서 감사합니다.

+0

src/main/resources에 이전과 같이 src/main/resources에 적절한 패키지 구조를 만들었습니까? – khmarbaise

+0

예, 제가 만든 특정 패키지에 넣으려고했는데 리소스 폴더의 루트에 넣으려고했습니다. 이 중 아무 것도 작동하지 않았습니다! –

+0

'src/main/resources'에 messages.properties 파일을 설치했는데 프로젝트가 정상적으로 작동합니다. 봄을 사용하고 있습니까? – Ali

답변

1

당신은 스프링을 사용하는 경우, 수 있도록 응용 프로그램 서블릿 컨텍스트에서 당신이 있는지 확인하십시오

<resources mapping="/resources/**" location="/resources/" /> 

당신의 JSP에서 :

<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 
<fmt:message key="whatever.key.from.message.file" /> 
1

이클립스에서 구체화 된 문자열 마법사를 사용 후, src/main/java에 등록 정보 파일을 놓으므로 src/main/resources (refactor/move 또는 outside eclipse)에서 등록 정보 파일을 이동 한 다음 프로젝트에서 다음을 실행하여 maven을 사용하여 Eclipse 프로젝트 파일을 다시 작성하십시오 명령 줄에서 루트 폴더

mvn eclipse:eclipse 

그런 다음 일식에서 프로젝트를 새로 고치고 새로 고칩니다.

2

나는 이것을 위해 eclipse.org에서 bug 369296을 생성했으며 그 과정에서 해결 방법을 찾았습니다. m2e 플러그인 (eclipse에서 maven 프로젝트를 관리함)은 모든 리소스 디렉토리에 "**"의 제외 필터를 추가합니다. 이 제외 필터는 NLS 마법사가 해당 리소스 디렉터리를 원본 폴더로 사용하지 못하게합니다.

이 문제를 해결하려면 빌드 경로를 Eclipse에서 편집하고 src/main/resources 폴더에서 ** 제외 항목을 제거하십시오. 그런 다음 NLS 마법사를 실행하고 수행하려는 모든 NLS-y 작업을 수행하십시오. 마지막으로, m2e가 프로젝트 구성을 다시 생성하게하십시오 - 이것은 ** 제외를 다시 추가 할 것입니다.

희망이 도움이됩니다. 그들은 내 버그를 고칠 것 같습니다.

관련 문제