Um arquivo EAR é um arquivo JAR, provavelmente você vai ter de usar alguma daquelas classes (JarInput/OutputStream, JarFile) que são mais apropriadas para lidar com JAR. (Elas são iguaizinhas às que mexem com ZIP mas têm alguns métodos a mais para lidar com MANIFESTs.)
sapulha
Então thingol, já tentei isso, e acontece o mesmo problema, o diretório META-INF, apesar de estar dentro do ear, não é reconhecido pelo JBoss como um diretório, aí me retorna um erro dizendo que não existe o application.xml na hora do deploy.
sapulha
Galera, alguém tem algum exemplo de classe java que gere arquivos zip com diretórios dentro???
Desde que seja diferente od que está no tutorial aqui do GUJ, já me ajudaria, pois assim eu teria um parametro de comparação para ver o que posso tá fazendo de errado.
Valeu
T
thingol
Agora entendi. O seu problema é que você está gerando o arquivo de tal modo que ele é, basicamente:
Provavelmente você precisa adicionar um ZipEntry com conteúdo vazio e com nome terminado com “/”, indicando que a entrada é um diretório.
sapulha
Hummmmmm, pode ser, vou tentar.
Valeu thingol.
sapulha
Putz, thingol, a solução que vc me deu resolveu meu problema em partes.
O arquivo gerado está idêntico ao gerado pelo ANT, com excessão do atributo Sistema Operacional. No ANT este atributo fica como UNIX, enquanto com a java.util.Zip fica com FAT.
Acho que é isso o que está fazendo o JBoss ainda reclamar, pq de resto, tá igualzinho os dois arquivos.
Vc sabe se tem como mudar isso ?
Obrigado
T
thingol
Pergunta imbecil número um - você pode usar o comando “jar” para gerar um JAR e um EAR. Ele deve usar essas streams (JarOutputStream etc.)
Por acaso o comando “jar” gera um EAR que o JBoss não consegue abrir?
sapulha
Cara, gerando com o comando JAR, o arquivo fica igualzinho e o JBoss reconhece, deve ter alguma cagada no meu código, vou rever desde o começo.