프로그래머의 가이드
이런 것들은 프로그래머가 함께 일하는 것ERDDAP이름 *Java수업은 알아야 합니다.
소스 코드 받기
- GitHub의 소스 코드 최근 공개 버전 및 개발 버전의 소스 코드도 사용할 수 있습니다프로젝트· 자주 묻는 질문다운로드그 프로젝트 소스 코드를 수정하려면 (그리고 아마도 표준에 통합 된 변경이 있습니다.ERDDAP™제 품정보) , 이것은 권장된 접근법입니다.
ERDDAP™관련 제품
ERDDAP™Maven을 사용하여 코드 의존도 및 일부 정적 참조 파일로드 (웹 INF/ref) · 저장소에 많은 큰 파일을 저장하기 위해 수행됩니다.
mvn compile
을 사용할 수 있으며, 의존도 및 ref 파일을 fetch할 수 있습니다. 전쟁 파일을 생성하려면 mvn package
를 사용할 수도 있습니다.
파일을 수동으로 다운로드 할 수 있습니다 :
-
etopo1\_ice\_g\_i2 을.zip그리고 /WEB-INF/ref/로 압축.
-
ref\_파일.zip그리고 /WEB-INF/ref/로 압축.
-
erddap 내용.zip (버전 1.0.0, 20333 바이트, MD5=2B8D2A5AE5ED73E3A42B529C168C60B5, 날짜 2024-10-14) 그리고 unzip it into tomcat, 만들기_tomcat_/content/erddap·
참고 : 기본 Maven은 정적 참조 및 테스트 데이터 아카이브 다운로드를 캐시하고 새로운 버전이 다운로드 될 때만 추출합니다. 다운로드를 건너뛰기 위해서는 skipResourceDownload
와/또는 skipTestResourceDownload
속성을 Maven로 설정할 수 있습니다. (e.g. mvn -DskipResource다운로드 패키지 ₢ 킹) · 추출을 강제로,
-Ddownload.unpack=true와
-Ddownload.unpackWhenChanged=false`를 설정합니다.
-
ERDDAP™그리고 그것의 subcomponents에는 아주 자유롭고, 오픈 소스가 있습니다이름 *, 그래서 당신은 사용 하 고 어떤 목적, 비영리 또는 비영리에 대 한 소스 코드를 수정할 수 있습니다. 이름 *ERDDAP™그리고 많은 하위 구성 요소는 사용중인 코드의 소스를 인정하는 데 필요한 라이센스가 있습니다. 이름 *계정 만들기· 필수 또는 아닙니다. 이 기여자의 모든 것을 인정하는 것이 좋습니다.
-
다른 프로젝트에 대한 코드 사용
당신이 사용할 수 있는 동안의 부품ERDDAP™다른 프로젝트에 대한 코드는 코드가 변경 될 수 있음을 경고해야합니다. 우리는 우리의 코드의 다른 사용을 지원할 것을 약속하지 않습니다. Git 및 GitHub는 이러한 처리를위한 주요 솔루션이 될 것입니다 -- Git은 변경 사항에 우리의 변화를 합병 할 수 있습니다. 당신이의 부분을 사용하도록 유혹 될 수있는 많은 상황에서ERDDAP™당신의 프로젝트에서, 우리는 당신이 설치하고 사용하게 매우 쉽게 찾을 것이라고 생각합니다ERDDAP™으로 그런 다음 다른 서비스를 쓸ERDDAP'서비스' 당신은 당신의 자신을 설정할 수 있습니다ERDDAP™설치 1 시간 또는 2에 crudely. 당신은 당신의 자신을 설정할 수 있습니다ERDDAP™몇 일 안에 닦은 방법에 있는 임명 (데이터셋의 수와 복잡성에 따라) · 그러나의 부분을 해킹ERDDAP™당신의 자신의 프로젝트는 주 걸릴 가능성이 (미묘함을 잡는 달) 그리고 당신은 변화와 버그 수정을 통합 할 수있는 능력을 잃게됩니다.ERDDAP™다운로드 제품정보 (옵션 정보) 많은 이점이 있습니다.ERDDAP™그리고 너의 것ERDDAP™자주 묻는 질문 그러나, 일부 상황에서, 당신은 당신의 만들 필요가 없습니다ERDDAP™자주 묻는 질문 그런 다음, 귀하의 서비스는 귀하의 개인에 액세스하고 사용할 수 있습니다.ERDDAP™고객 Needn't knowERDDAP™·
반도
또는, 당신이 delving 사이 반도가 유용 할 수있는 또 다른 접근법이 있습니다ERDDAP비밀번호ERDDAP™독립 웹 서비스로: EDD 클래스에서는 dataset의 인스턴스를 만들 수있는 정적 방법이 있습니다. (규격에 따라datasets.xml) ::
oneFromDataset' 지시어 사이트맵 (문자열 tDatasetID)
EDDTable의 인스턴스를 반환하거나EDDGrid데이터셋. 그 인스턴스를 호출 할 수 있음
'makeNewFileForDapQuery'의 정의 (String userDapQuery, String dir, String fileName, String 파일 유형 이름)
`to tell the example to make a data file, of specific fileType, 사용자 쿼리의 결과와. 따라서, 이것은 사용하기 쉬운 방법입니다ERDDAP's data를 요청하고 응답에 파일을 얻을 수있는 방법, 클라이언트로ERDDAP™웹 신청. 그러나이 접근법은 당신의 안에서 작동합니다.Java프로그램 및 Tomcat과 같은 애플리케이션 서버를 우회합니다. 우리는 EDDTable의 단위 테스트의 많은에 대한이 접근 방식을 사용합니다.EDDGridsubclasses, 그래서 당신은 그 클래스의 모든 소스 코드에서이 예제를 볼 수 있습니다.
개발 환경
-
옵션 정보 :: 설치하기ERDDAP™톰캣 이름 *ERDDAP™주로 Tomcat에서 servlet이 될 예정이며, 표준을 따르는 것이 좋습니다.설치 설명서Tomcat을 설치하고 설치ERDDAP™Tomcat의 webapps 디렉토리. 다른 것들 중,ERDDAP™Tomcat의 디렉토리 구조에 설치되고 Tomcat이 .jar 파일을 제공하기 위해 기대합니다.
-
ERDDAP™특정 IDE가 필요하지 않습니다. (Chris는 주로 Visual Studio Code를 사용, Bob은 EditPlus를 사용) · 우리는 Eclipse, Ant, 등을 사용하지 않습니다. 또는 우리가 제공하는 것ERDDAP-관련 지원 프로젝트는 Maven을 사용합니다.
-
우리는 소스 트리의 .class 파일을 모두 삭제하는 일괄 파일을 사용하여 깨끗한 컴파일을 보장합니다. (javac와 함께) ·
-
현재 Adoptium의 javac jdk-21.0.3+9를 사용하여 gov.noaa.pfeg.coastwatch.TestAll를 컴파일합니다. (컴파일되지 않을 몇 가지 클래스에 대한 링크가 있습니다.) 테스트 실행. 보안상의 이유로, 그것은 항상 최신 버전을 사용하는 것이 가장 좋습니다Java21 및 톰캣 10.
-
javac 또는 java를 실행할 때, 현재 디렉토리는 tomcat/webapps/erddap/WEB-INF입니다.
-
우리의 javac 및 java classpath는
classes;.././../lib/servlet-api.jar;lib/*
-
그래서 javac 명령 줄은 다음과 같습니다.
javac - 인코딩 UTF-8 -cp 클래스;../../lib/servlet-api.jar;lib/* 클래스/gov/noaa/pfel/coastwatch/TestAll.java
-