서버 통신을 위해 GWT RPC를 사용하는 레거시 프로젝트를 업데이트하고 있습니다. 원래 프로젝트는 빌드 스크립트에서 개미 작업을 사용하여 자리 표시자를 프로젝트의 버전 번호로 대체했습니다. 나는 그 생각이 버전 번호가 수동으로 찾거나 교체하는 것보다는 한 곳에서 업데이트되도록하는 것이라고 생각하고 있습니다. 제가 실행중인 문제는 @RemoteServiceRelativePath를 사용하여 내 서비스를 클라이언트에 연결하려는 경우 해당 프로세스가 작동하지 않는다는 것입니다. 빌드 스크립트를 사용하여 web.xml을 수정할 수는 있지만 일치하도록 코드에서 주석을 업데이트하는 방법을 모르겠습니다. 'setServiceEntryPoint'를 사용하여 ServiceDef를 런타임에 수정할 수 있다는 것을 알고 있지만 가능한 경우 혼란을 피하고 싶습니다. 예를 들어컴파일시 GWT Servlet 매핑 변경
, 내 web.xml은 다음과 같습니다 경우 :
<servlet>
<servlet-name>authBackendImpl</servlet-name>
<servlet-class>com.myproj.server.servlet.MyAuthBackendImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>authBackendImpl</servlet-name>
<url-pattern>/mymodule/@version/authBackend</url-pattern>
</servlet-mapping>
내가 실제 수와 @version을 교환하는 개미 빌드 작업을 대체 사용할 수 있습니다. 문제는 내 서비스 인터페이스에 있습니다 :
@RemoteServiceRelativePath(value = "@version/authBackend")
public interface MyAuthBackend extends RemoteService {
}
주석 값에 대한 변수 정의를 가질 수있는 방법이 있습니까? 아니면 내가 보지 못한 다른 해결책이 있습니까? 어떤 도움이라도 대단히 감사 할 것입니다.
가 왜이 같은 방법으로 파일 된 .java에서 코드를 대체 할 수 없습니다 : 당신은 어떤 팩토리 클래스로 포장하여 코드를 자신을 아름답게 수 있지만 간단한 방법으로 그것을해야 다음과 같습니다 물론 당신은 web.xml에서 그것을합니까? Maven으로 이동했다면 필터링 기능이 있지만 개미는 관리하기가 쉽습니다. – stdunbar