java - 좌표 - 자바 컴포넌트 삭제




자바 웹 애플리케이션 구성을위한 전략 (2)

내 webapp의 일부에는 이미지 파일 업로드가 포함됩니다. 프로덕션 서버에서 / somepath_on_production_server / images에 파일을 작성해야합니다. 지역 개발을 위해 / some_different_path / images에 파일을 쓰고 싶습니다.

이러한 구성상의 차이점을 처리하는 가장 좋은 방법은 무엇입니까?

한 가지 중요한 요구 사항은 다음과 같습니다. 프로덕션 서버를 전혀 망치고 싶지는 않습니다. 단지 war 파일을 배포하고 작동시킬 수 있기를 원합니다. 그래서 나는 환경 변수 / classpath / 등을 엉망으로 만드는 어떤 기법도 사용하고 싶지 않다. 생산 기계에서. 그래도 내 로컬 컴퓨터에 설치하는 것이 좋습니다.

나는 두 가지 일반적인 접근법을 상상하고있다.

  1. 특정 조건이 충족되면 런타임에 특수 "dev"구성 파일로드 (환경 변수 / 클래스 경로 / etc)
  2. 빌드 프로세스 동안 스위치를 뒤집는 것 (메이븐 프로파일은 어쩌면?)

속성 파일을 사용하는 것은 그리 어렵지 않고 web.xml을 좀 더 읽기 쉽습니다.

InputStream ldapConfig = getClass().getResourceAsStream(
          "/ldap-jndi.properties");
      Properties env = new Properties();
      try {
        env.load(ldapConfig);
      } finally {
        if (ldapConfig != null) {
          ldapConfig.close();
        }
      }

프로덕션 설정에 해당하는 WAR 파일의 기본값을 갖되 시스템 등록 정보 또는 JNDI를 통해 외부에서 재정의되도록 허용하십시오.

String uploadLocation = System.getProperty("upload.location", "c:/dev");

(테스트되지 않음)





development-environment