Este é o comando japicompat que pode ser executado no provedor de hospedagem gratuita OnWorks usando uma de nossas várias estações de trabalho online gratuitas, como Ubuntu Online, Fedora Online, emulador Windows online ou emulador MAC OS online
PROGRAMA:
NOME
japicompat - Teste APIs Java para compatibilidade binária com versões anteriores.
SINOPSE
japicompat [-svqhtjw4] [-ou arquivo de saída] [-eu ignorearquivos]
DESCRIÇÃO
japicompat faz parte do japitools, projetado para testar a compatibilidade entre APIs Java.
Eles foram originalmente projetados para testar implementações gratuitas do próprio Java para
compatibilidade com o JDK da Sun, mas também podem ser usados para testar a compatibilidade com versões anteriores
entre as versões de qualquer API.
As ferramentas são japize e japicompat. Japize é um programa Java que emite uma lista de um
API em formato legível por máquina. Japicompat então pega duas dessas listagens e compara
para compatibilidade binária, conforme definido pela Sun na Especificação da linguagem Java.
OPÇÕES
-s desative as verificações de compatibilidade binária adicionais (faça apenas as verificações definidas pelo JLS).
-v habilitar verificações de problemas de compatibilidade menores.
Verificação de SerialVersionUID: japicompat relata um pequeno erro se uma classe Serializable
tem um SerialVersionUID diferente entre as duas versões.
Verificação de descontinuação: japicompat relata um pequeno erro se uma classe ou membro foi
obsoleto na API original, mas não está obsoleto na API que está sendo verificada.
-q desabilita relatórios de progresso.
-h gera saída em formato HTML. Os arquivos HTML produzidos dependem do japi.css
arquivo para obter uma apresentação atraente.
-t gera saída em formato de texto. Este é o padrão.
-j gera saída em formato bruto legível por máquina. O formato produzido é chamado
formato "japio" e, por convenção, deve ser salvo com a extensão de arquivo ".japio".
Os utilitários independentes japiotext e japiohtml podem ser usados para converter este formato
em html ou texto (na verdade, japicompat chama japiotext ou japiohtml internamente se
os sinalizadores -h ou -t são usados). Os arquivos Japio também podem ser usados com o sinalizador -i para
suporta ignorar erros causados por incompatibilidades entre as versões do JDK.
-w desative os avisos de execução em arquivos japi com erros antigos. Por padrão japicompat
irá produzir avisos se executado em arquivos japi gerados originalmente por arquivos mais antigos
versões de japitools que tinham bugs conhecidos que o japifix não consegue eliminar.
-4 use o modo compatível com 1.4. Isso funciona, desde que as APIs a serem comparadas não contenham
Itens somente 1.5.
-o
Envie a saída para em vez de stdout. O formato deste arquivo depende de
os sinalizadores -h, -t e -j.
-i
Suponha que você esteja tentando implementar a API Java. Você tem (praticamente)
completou a cobertura das primeiras versões do JDK (1.0 e 1.1), mas ainda tem alguns
distância para alcançar cobertura total de 1.4 (esta é uma descrição precisa de todos
Implementações de Java de software livre no momento da escrita). Usando japicompat para
compare sua implementação com JDK 1.4 fornece resultados precisos, mas você também pode
deseja mostrar sua cobertura das versões anteriores.
Infelizmente, a Sun não seguiu suas próprias regras de compatibilidade binária entre JDK
lançamentos, sem falar nas regras expandidas que o japicompat testa. Então, quando você executa um
comparação entre o JDK 1.1 e sua implementação, você obterá um erro espúrio
relatórios quando você é compatível com 1.4, mas não 1.1.
Obviamente, o que você realmente quer é ignorar erros como este, e japicompat
fornece uma maneira de fazer isso. Primeiro, execute uma comparação entre 1.1 e 1.4 usando o -j
trocar. Em seguida, execute a comparação entre 1.1 e sua implementação, passando o
Opção "-i" com a saída da execução anterior. Por exemplo:
$ 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
Você também pode obter o mesmo efeito executando:
$ japicompat -ho jdk11-myimpl.html -i jdk14.japi.gz jdk11.japi.gz myimpl.japi.gz
Isso é obviamente mais simples e rápido de digitar, mas requer a comparação entre
jdk11 e jdk14 devem ser executados todas as vezes. Fazer o arquivo japio manualmente permite
para que seja salvo e usado novamente na próxima vez, o que permite que o japicompat funcione
duas vezes mais rápido.
Os arquivos japi correspondentes às APIs a serem comparadas.
japicompat testa especificamente se o segundo argumento é compatível com versões anteriores
com o primeiro. Portanto, uma implementação perfeita do JDK 1.1 não produziria
erros, independentemente da ordem dos argumentos, mas uma implementação perfeita de
JDK1.1 mais partes de JDK1.2 devem ser testados da seguinte forma:
$ japicocompat jdk11.japi.gz myimpl.japi.gz
$ japicompat meuimpl.japi.gz jdk12.japi.gz
Provavelmente é impossível fazer uma implementação que passe em ambos os testes,
já que o próprio JDK1.2 da Sun produz vários erros quando testado em relação ao JDK1.1. Veja o
discussão da opção -i acima para uma maneira de lidar com esta situação.
Arquivos compactados (.japi.gz) ou descompactados (.japi) podem ser passados para
japicompat: A extensão do arquivo é usada para determinar se deve ou não canalizar a entrada
por meio do gzip ou não.
Use japicompat online usando serviços onworks.net