Этот репозиторий GitHub содержит источники 3 библиотек, внедряющих стандарты и протоколы IVOA:
Для получения полной документации/учебного пособия и демонстрации 3 библиотек, которые вы должны посетить следующие веб -сайты: Adqltuto, Uwstuto и Taptuto.
Эти библиотеки разработаны в Java 7 .
Три из этих библиотек находятся в условиях лицензии LGPL V3. Вы можете найти полное описание и все условия использования в файлах SRC/Копирование и SRC/Copying.lesser.
Я настоятельно рекомендую вам объявить любую проблему, с которой вы сталкиваетесь здесь. Таким образом, любой, у кого такая же проблема, может увидеть, известна ли его/ее проблема. Если проблема известна, будет опубликован прогресс и/или комментарии о ее разрешении.
Кроме того, если вы разделили этот репозиторий и внесли некоторые исправления на вашей стороне, которые могут заинтересовать любого другого пользователя библиотек, пожалуйста, отправьте запрос на вытяжение здесь. Если эти модификации находятся в адаптации с определением IVOA и не слишком специфичны для вашего использования, они будут интегрированы (возможно, после некоторых модификаций) в этом репозитории и, таким образом, доступны для всех.
Каждая библиотека имеет свой собственный пакет ( adql для ADQL, uws для UWS и tap для TAP). Эти пакеты независимы, за исключением tap , который нуждается в двух других пакетах. В дополнение к этим пакетам вы также найдете cds , что является зависимостью для библиотек.
Ниже суммируются зависимости каждой библиотеки:
| Adql | UWS | КРАН | |
|---|---|---|---|
Пакет adql | Х | Х | |
Пакет cds.utils | Х | Х | |
| Postgres JDBC Driver | Х | Х | |
Пакет uws | Х | Х | |
| Библиотека JSON | Х | Х | |
| HTTP Servlet API | Х | Х | |
| HTTP Multipart Library | Х | Х | |
Пакеты 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. Эта библиотека уже использовалась (до v4.4 UWS-LIB и V2.3 из Tap-Lib), но она была включена в источники, а не рассматривалась как внешняя библиотека. Драйвер Postgres JDBC необходим только в том случае, если вы хотите использовать (и сохранить) adql.translator.PgSphereTranslator . Вы можете получить этого драйвера на веб -сайте PostgreSQL. Требуемый пакет для библиотек ADQL и TAP - это org.postgresql (и особенно класс org.postgresql.Driver ).
API HTTP Servlet , как правило, доступен в библиотеках, идущих по используемому вами серверу веб -приложений. Например, для Tomcat он находится в каталоге lib (или /var/lib/tomcat-x/lib , если он установлен с способностями в системе Linux; x -номер версии Tomcat). Требуемый пакет для библиотеки UWS и TAP - javax.servlet .
ПРИМЕЧАНИЕ. Драйвер Postgres JDBC и HTTP Servlet API не предоставляются в этом репозитории GIT, чтобы избежать несовместимости версии с системой хоста (то есть на вашей машине при оформлении/клон/разветвляется этот репозиторий).
Источники этих трех библиотек поставляются с некоторыми тестовыми файлами JUNIT. Вы можете найти их в test каталоге.
Если вы используете Eclipse (или, может быть, также с другой интегрированной средой разработки), Junit, как правило, уже доступен. Затем вы можете напрямую выполнить и собрать предоставленные тестовые файлы Junit. Таким образом, вам не нужны два библиотеки, упомянутые чуть ниже.
В противном случае вам нужно будет получить библиотеку JUNIT. Как правило, он обеспечивается JDK, но вы можете найти соответствующую банку также на веб -сайте JUNIT.
Вам также может понадобиться другая библиотека под названием hamcrest . Вы можете найти это в его репозитории Maven; Просто чтобы быть уверенным, что все необходимо, просто возьмите hamcrest-all как банка.
ПРИМЕЧАНИЕ. Библиотеки JUNIT и HAMCREST не предоставляются в этом репозитории GIT, чтобы избежать несовместимости версии с системой хоста (то есть на вашей машине при оформлении/клон/разветвляется этот репозиторий).
В корне репозитория есть 3 сценария муравья. Каждый посвящен одной библиотеке. Они могут генерировать банку для источников, двоичных файлов и javadoc.
4 Свойства должны быть установлены перед использованием одного из этих сценариев:
POSTGRES только для adql и нажмите, если вы хотите сохранить adql.translator.pgspheretranslator : путь к банке или двоичному каталогу, содержащий все org.postgresql.* - [https://jdbc.postgresql.org/download.html позироваSERVLET-API только для UWS и TAP : путь к банке или бинарному каталогу, содержащему все javax.servlet.*JUNIT-API не требуется, если вам не интересно, проведя тесты JUNIT : путь к одной или нескольким банкам или бинарным каталогам, содержащим все классы для использования JUNIT.JNDI-API только для TAP и только в том случае, если вы заинтересованы в проведении тестов JUNIT : путь к одной или нескольким банкам или бинарным каталогам, содержащим все классы для запуска JNDI. Для этого существует несколько библиотек; Simple-JNDI очень прост и используется разработчиком библиотек для запуска соответствующих тестов JUNIT.Примечание: в этом хранилище GIT не предусмотрена библиотека JNDI, потому что любая библиотека JNDI может работать, и нет никаких оснований навязывать конкретную. Кроме того, аналогично другим библиотекам, необходимым для составления источников, он позволяет избежать несовместимости версии с системой хоста (то есть на вашей машине при оформлении/клон/разветвляется этот репозиторий).
Все эти сценарии муравья имеют следующие основные цели:
junitValidation : выполняет все тесты JUNIT, связанные с целевой библиотекой, и остановить муравей при любой ошибке. Если целевая библиотека нажимает, проводятся тесты JUNIT трех библиотек.buildLib : запустите тесты JUNIT, и если они все успешны, составьте классы целевой библиотеки и создайте файл JAR с ними и их зависимости.buildLibAndSrc : так же, как buildLib + Строительство файла JAR, содержащего все источники и необходимые библиотеки.buildJavadoc : генерируйте банку, содержащую Javadoc классов библиотеки целевой библиотеки.buildAll : эквивалент buildLibAndSrc и buildJavadoc вместе. Результатом является 3 банки: одна с составленными классами, одна с соответствующими источниками и последняя с Javadoc.Код может быть построен с Gradle, либо в качестве файла JAR, который будет включен в другие проекты, либо в качестве войны, который будет развернуть в Tomcat.