이 Github 저장소에는 IVOA 표준 및 프로토콜을 구현하는 3 개의 라이브러리 소스가 포함되어 있습니다.
전체 문서/튜토리얼 및 3 개의 라이브러리의 데모를 보려면 ADQLTUTO, UWSTUTO 및 TAPTUTO의 다음 웹 사이트를 방문해야합니다.
이 라이브러리는 Java 7 에서 개발되었습니다.
이 라이브러리 중 세 가지는 LGPL V3 라이센스의 조건에 따라 있습니다. 파일 SRC/복사 및 SRC/COPICY.Lesser에서 전체 설명과 사용 조건을 찾을 수 있습니다.
여기에서 발생하는 문제를 선언하는 것이 좋습니다. 따라서 같은 문제가있는 사람은 누구나 자신의 문제가 이미 알려져 있는지 확인할 수 있습니다. 문제가 알려진 경우 진행 상황 및/또는 해상도에 대한 의견이 게시됩니다.
또한,이 저장소를 포크하고 라이브러리의 다른 사용자에게 관심을 가질 수있는 일부 수정을 한 경우 여기에서 풀 요청을 보내 십시오. 이러한 수정이 IVOA 정의와 적합하고 USECase에 너무 구체적이지 않으면이 저장소에 통합되어 (일부 수정 후) 모든 사람이 사용할 수있게됩니다.
각 라이브러리에는 자체 패키지 (ADQL 용 adql , UWS 용 uws 및 TAP tap )이 있습니다. 이 패키지는 다른 패키지가 필요한 tap 제외하고는 독립적입니다. 이 패키지 외에도 라이브러리의 종속성 인 cds 도 있습니다.
다음은 각 라이브러리의 종속성을 요약합니다.
| ADQL | UWS | 수도꼭지 | |
|---|---|---|---|
패키지 adql | 엑스 | 엑스 | |
패키지 cds.utils | 엑스 | 엑스 | |
| Postgres JDBC 드라이버 | 엑스 | 엑스 | |
패키지 uws | 엑스 | 엑스 | |
| JSON 라이브러리 | 엑스 | 엑스 | |
| HTTP 서블릿 API | 엑스 | 엑스 | |
| HTTP 멀티 파트 라이브러리 | 엑스 | 엑스 | |
패키지 cds.* | 엑스 | ||
| STIL 라이브러리 | 엑스 |
lib 디렉토리에는 3 개의 JAR 파일이 있습니다.
commons-fileupload-1.3.3.jar (및 commons-io-2.6.jar ). 이 라이브러리는 업로드를 다루는 데 도움이됩니다.stil_3.3-2.jar (예 : 패키지 nom.tap , org.apache.tools.bzip2 , uk.ac.starlink ). 이 라이브러리는 투표 가능 (읽기 및 쓰기) 및 기타 출력 형식을 지원하는 데 도움이됩니다.json-20180813.jar (예 : 전자는 org.json 패키지 포함). 이 라이브러리는 JSON 컨텐츠를 조작하는 데 도움이됩니다. 이 라이브러리는 이미 UWS-LIB의 v4.4와 Tap-Lib의 v2.3 이전) 이전에 사용되었지만 외부 라이브러리로 간주되는 대신 소스에 포함되었습니다. Postgres JDBC 드라이버는 adql.translator.PgSphereTranslator 사용하고 유지하려는 경우에만 필요합니다. PostgreSQL 웹 사이트 에서이 드라이버를 얻을 수 있습니다. ADQL 및 TAP 라이브러리에 필요한 패키지는 org.postgresql (특히 클래스 org.postgresql.Driver )입니다.
HTTP Servlet API는 일반적으로 사용중인 웹 애플리케이션 서버를 따라 오는 라이브러리에서 사용할 수 있습니다. 예를 들어, Tomcat의 경우 디렉토리 lib 에 있습니다 (Linux 시스템에 적성으로 설치된 경우 /var/lib/tomcat-x/lib ; x Tomcat의 버전 번호입니다). UWS 및 TAP 라이브러리에 필요한 패키지는 javax.servlet 입니다.
참고 : Postgres JDBC 드라이버 및 HTTP 서블릿 API는 호스트 시스템과의 비 호환성을 피하기 위해이 GIT 저장소에 제공되지 않습니다 (즉,이 저장소를 체크 아웃/클론/포크 할 때 컴퓨터).
이 세 가지 라이브러리의 출처에는 일부 주니트 테스트 파일이 제공됩니다. test 디렉토리에서 찾을 수 있습니다.
Eclipse (또는 다른 통합 개발 환경과 함께)를 사용하는 경우 Junit은 일반적으로 이미 사용할 수 있습니다. 그런 다음 제공된 Junit 테스트 파일을 직접 실행하고 컴파일 할 수 있습니다. 따라서 바로 아래에 언급 된 두 라이브러리가 필요하지 않습니다.
그렇지 않으면 Junit Library를 가져와야합니다. 일반적으로 JDK와 함께 제공되지만 Junit 웹 사이트에서도 해당 JAR을 찾을 수 있습니다.
hamcrest 라는 다른 라이브러리가 필요할 수도 있습니다. Maven 저장소에서 이것을 찾을 수 있습니다. 필요한 모든 것을 확신하기 위해서는 hamcrest-all 병으로 가져 가십시오.
참고 : Junit 및 Hamcrest 라이브러리는 호스트 시스템과의 비 호환성을 피하기 위해이 GIT 저장소에 제공되지 않습니다 (즉,이 저장소를 체크 아웃/클론/포크 할 때 시스템).
저장소의 루트에는 3 개의 개미 스크립트가 있습니다. 각각은 하나의 라이브러리 전용입니다. 그들은 소스, 바이너리 및 Javadoc에 대한 Jar를 생성 할 수 있습니다.
이 스크립트 중 하나를 사용하기 전에 4 개의 속성을 설정해야합니다.
POSTGRES 와 ADQL.translator.pgspheretranslator를 유지하려는 경우 탭 : 모든 org.postgresql.* - [https://jdbc.postgresql.org/download.html]을 포함하는 항아리 또는 이진 디렉토리를 향한 경로.SERVLET-API UWS 및 탭에 대해서만 : 모든 javax.servlet.*JUNIT-API Junit 테스트를 실행하여 관심이 없다면 필요하지 않습니다 : Junit을 사용하기 위해 모든 클래스를 포함하는 하나 또는 여러 개의 항아리 또는 이진 디렉토리로 향하는 경로.JNDI-API 탭 용 및 Junit 테스트를 실행하여 관심이있는 경우에만 JNDI를 실행하기 위해 모든 클래스를 포함하는 하나 또는 여러 개의 항아리 또는 이진 디렉토리를 향한 경로입니다. 몇 가지 라이브러리가 존재합니다. Simple-JNDI는 매우 간단하며 라이브러리 개발자가 관련 주니트 테스트를 실행하는 데 사용됩니다.참고 : JNDI 라이브러리에는 JNDI 라이브러리에 JNDI 라이브러리가 제공되지 않으며 JNDI 라이브러리가 작동 할 수 있고 특정 라이브러리를 부과 할 이유가 없기 때문입니다. 게다가 소스를 컴파일하는 데 필요한 다른 라이브러리와 마찬가지로 호스트 시스템과의 비 호환성을 피할 수 있습니다 (즉,이 저장소를 체크 아웃/클론/포크 할 때 컴퓨터).
이 모든 개미 스크립트에는 다음과 같은 주요 대상이 있습니다.
junitValidation : 대상 라이브러리와 관련된 모든 Junit 테스트를 실행하고 모든 오류에서 Ant를 정지시킵니다. 대상 라이브러리가 탭되면 3 개의 라이브러리의 주니트 테스트가 실행됩니다.buildLib 기본값 : Junit 테스트를 실행하고 성공한 경우 대상 라이브러리의 클래스를 컴파일하고 해당 종속성과 함께 JAR 파일을 작성하십시오.buildLibAndSrc : 모든 소스와 필요한 라이브러리를 포함하는 JAR 파일의 buildLib + 빌딩과 동일합니다.buildJavadoc : Target Library 클래스의 Javadoc이 포함 된 항아리를 생성하십시오.buildAll : buildLibAndSrc 및 buildJavadoc 과 동일합니다. 결과는 3 개의 항아리입니다. 하나는 컴파일 된 클래스가 있고, 하나는 해당 소스가 있고, 마지막 클래스는 Javadoc과 함께합니다.코드는 다른 프로젝트에 포함될 JAR 파일 또는 Tomcat에 배치 할 전쟁 파일로 Gradle을 사용하여 구축 할 수 있습니다.