Converter Java para o arquivo .app para MacOSX usando JarBundler
Tudo o que estou tentando fazer é converter um programa java simples em um arquivo macOSX .app para que eu possa distribuí-lo como um arquivo executável simples.
Eu li em todo o lugar e todo mundo diz as mesmas coisas:
Use o Xcode - Até onde eu sei, o Xcode não suporta mais o Java BuildsUse Jar Bundler - Todos os tutoriais parecem estar desatualizados e isso não funciona. Quando executo: java -jar jarbundler-2.0.0.jar
O console retorna "nenhum atributo de manifesto principal no jarbundler-2.0.0.jar"
Se eu estiver certo, isso seria uma falha em quem empacotou o arquivo jar certo? Mas eu tentei baixá-lo de outros sites e outras versões, mas eu recebo a mesma coisa.
Eles dizem que você pode apenas criar os diretórios e arquivos e, em seguida, renomear sua pasta para .app e, em seguida, executar um comando sobre ele ou algo assim, mas isso é complicado, pois não sei exatamente como criar um arquivo info.plist ... Se você quiser fazer assim, o melhor site que encontrei até agora é esse:Opções de Implantação Java para o OSX
Eu compilei meu código em um arquivo .jar, eu tenho um ícone e tudo, tudo que eu preciso fazer é empacotá-lo de alguma forma em um arquivo .app.
Obrigado pela ajuda antecipadamente!
SoluçãoEDIT: eu entendi! Depois de 7 ou 8 horas de pesquisa e leitura, funciona. Como sou novo nisso, vou postar tudo o que aprendi para salvar os outros que enfrentam o mesmo problema de passarem pela dor. Eu desisti do método de fazer você mesmo e voltei para o JarBundler. Se alguém mais está lendo isso e eles não sabem nada sobre a ANT, aqui está o que eu fiz: Baixe o JarBundler, eu tenho o meu aqui:Tarefa ANT do Mac OS X JarBundler e siga as instruções lá.
Ao baixá-lo, coloque o arquivo jarbundler-2.2.0.jar aqui:
/ usr / share / form / lib
você pode ter que executar um comando para movê-lo, algo como:
sudo mv jarbundler-2.2.0.jar ~ /../../usr/share/ant/lib/ jarbundler-2.2.0.jar
como eu disse, ainda estou aprendendo, mas isso funcionou para mim.
Certifique-se de ter movido o jarbundler certo, é aqui que eu tive problemas, movi a pasta inteira, em vez do arquivo .jar interno, então certifique-se de mover o .jar que está dentro do zip da pasta que você baixou, não a coisa toda caso contrário, quando você for construí-lo, receberá um erro dizendo algo como error: taskdef class net.sourceforge.jarbundler.JarBundler não pôde ser localizado.
Então você precisa compilar seu código em um arquivo .jar (existem dois tipos, um é como um .zip e o outro é um executável). Você quer um arquivo JAR normal, NÃO executável, então para isso você precisa primeiro compilar. seu código para obter arquivos .class, abra um prompt de comando e siga as instruções aqui:Crie um arquivo Jar O comando será algo como isto:
jar cf myName.jar * .class
Depois de ter seu arquivo jar, você precisa criar um arquivo .xml na mesma pasta e precisa ser chamado build.xml. Edite-o com um editor de texto. Siga as instruções no link acima para criá-lo. Vai parecer algo assim:
//build.xml
<project name="MyProject">
<taskdef name="jarbundler"
classname="net.sourceforge.jarbundler.JarBundler" />
<target name="bundle">
<jarbundler dir="release"
name="Apollo's Image Editor"
mainclass="ImageEditorGUI"
jar="ApolloIE.jar"
icon="Aperture.icns" />
</target>
</project>
De lá (estou usando um MacBook Pro, a propósito) tudo que você precisa fazer é executar uma linha de comando a partir dessa pasta:
pacote de formigas
e deve criar um arquivo .app em uma pasta chamada release. Então, para resumir: tudo o que você precisa é do seu arquivo .jar e do arquivo build.xml na mesma pasta e, em seguida, execute o comando: ant bundle (ou qualquer nome que você tenha nomeado no arquivo build.xml, denominei bundle)
Boa sorte, espero que isso ajude alguém lá fora.
Se alguém está se perguntando, peguei o Info.plist que foi gerado pelo JarBundler e coloquei no diretório que estava fazendo e funcionou! Então esse era o problema, eu não sabia como formatá-lo direito ... aqui está:Info.plist