Это команда japicompat, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
japicompat - Тестирование Java API на обратную двоичную совместимость.
СИНТАКСИС
джапикомпат [-svqhtjw4] [-или же Outfile] [-я игнорировать файлы]
ОПИСАНИЕ
джапикомпат является частью japitools, предназначенной для проверки совместимости между Java API.
Изначально они были разработаны для тестирования бесплатных реализаций самой Java для
совместимость с Sun JDK, но их также можно использовать для тестирования обратной совместимости
между версиями любого API.
Инструменты японские и японские. Japize - это программа на Java, которая выводит список
API в машиночитаемом формате. Japicompat затем берет два таких списка и сравнивает
их для двоичной совместимости, как определено Sun в Спецификации языка Java.
ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ
-s отключите дополнительные проверки двоичной совместимости (выполняйте только проверки, определенные JLS).
-v включить проверки на наличие мелких проблем совместимости.
Проверка SerialVersionUID: japicompat сообщает о незначительной ошибке, если класс Serializable
у этих двух выпусков разные SerialVersionUID.
Проверка устаревания: japicompat сообщает о незначительной ошибке, если класс или член были
устарела в исходном API, но не устарела в проверяемом API.
-q отключает отчеты о проделанной работе.
-h генерирует вывод в формате HTML. Создаваемые файлы HTML зависят от файла japi.css.
файл, чтобы получить привлекательную презентацию.
-t генерирует вывод в текстовом формате. Это значение по умолчанию.
-j генерирует вывод в необработанной машиночитаемой форме. Производимый формат называется
формат "japio" и по соглашению должен быть сохранен с расширением файла ".japio".
Для преобразования этого формата можно использовать автономные утилиты japiotext и japiohtml.
в html или текст (на самом деле, japicompat вызывает внутри себя japiotext или japiohtml, если
используются флаги -h или -t). Файлы Japio также можно использовать с флагом -i для
поддержка игнорирования ошибок, вызванных несовместимостью между версиями JDK.
-w отключить предупреждения для работы со старыми ошибочными файлами japi. По умолчанию japicompat
выдаст предупреждения при запуске с файлами japi, изначально созданными более старыми
версии японских инструментов, в которых были обнаружены ошибки, которые невозможно устранить с помощью japifix.
-4 используйте 1.4-совместимый режим. Это работает до тех пор, пока API для сравнения не содержат
Предметы только для 1.5.
-o
Отправьте вывод в вместо stdout. Формат этого файла зависит от
флаги -h, -t и -j.
-i
Предположим, вы пытаетесь реализовать Java API. У вас есть (в значительной степени)
завершено описание ранних версий JDK (1.0 и 1.1), но все еще есть
расстояние для достижения полного покрытия 1.4 (это точное описание всех
Реализации свободного программного обеспечения Java на момент написания). Использование japicompat для
сравнение вашей реализации с JDK 1.4 дает точные результаты, но вы также можете
хочу показать ваше освещение в более ранних версиях.
К сожалению, Sun не соблюдает свои собственные правила двоичной совместимости между JDK.
выпускает, не говоря уже о расширенных правилах, которые проверяет japicompat. Итак, когда вы запускаете
сравнение между JDK 1.1 и вашей реализацией, вы получите ложную ошибку
сообщает, когда вы совместимы с 1.4, но не с 1.1.
Очевидно, что вы действительно хотите игнорировать подобные ошибки, и japicompat
предоставляет способ сделать это. Сначала запустите сравнение 1.1 и 1.4 с помощью -j
выключатель. Затем запустите сравнение 1.1 и вашей реализации, передав
Параметр "-i" с выводом предыдущего запуска. Например:
$ japicompat -jo ignore-11-14.japio jdk11.japi.gz jdk14.japi.gz
$ japicompat -ho jdk11-myimpl.html -i ignore-11-14.japio jdk11.japi.gz
myimpl.japi.gz
Вы также можете получить тот же эффект, запустив:
$ japicompat -ho jdk11-myimpl.html -i jdk14.japi.gz jdk11.japi.gz myimpl.japi.gz
Это, очевидно, проще и быстрее набирать, но требует сравнения между
jdk11 и jdk14 должны запускаться каждый раз. Создание файла japio вручную позволяет
чтобы он был сохранен и использован снова в следующий раз, что позволяет запускать japicompat
вдвое быстрее.
Файлы japi, соответствующие сравниваемым API.
japicompat специально проверяет обратную совместимость второго аргумента
с первым. Следовательно, идеальная реализация JDK 1.1 не даст
ошибок независимо от порядка аргументов, но идеальная реализация
JDK1.1 плюс части JDK1.2 должны быть протестированы следующим образом:
$ japicompat jdk11.japi.gz myimpl.japi.gz
$ japicompat myimpl.japi.gz jdk12.japi.gz
Вероятно, невозможно создать реализацию, которая прошла бы оба этих теста,
поскольку собственный JDK1.2 Sun вызывает множество ошибок при тестировании с JDK1.1. Увидеть
обсуждение опции -i выше для способа справиться с этой ситуацией.
Сжатые (.japi.gz) или несжатые (.japi) файлы могут быть переданы в
japicompat: расширение файла используется, чтобы определить, следует ли вводить по конвейеру
через gzip или нет.
Используйте japicompat онлайн с помощью сервисов onworks.net