Boa noite!
Estou há semanas estudando a fundo JavaFX. Ja li e reproduzi “N” tutoriais. Desenvolvo em JavaDesktop desde 2009. Sempre distribuí meus arquivos através do JNLP principalmente pela facilidade na atualização dos clientes. Como todos sabem, a partir de uma certa atualização no JAVA 7, essa tarefa não ficou tão fácil. Têm projetos exemplo no proprio netBeans que se vc executar no desktop, executa normal. Se vc executar no browser, tb executa, se baixar o JNLP tb vai normal. Qual a diferença do exemplo para o exemplo que desenvolvi? O acesso à banco via JPA. Creio eu que devido ao fato de adicionar bibliotecas dependentes, mesmo assinando, não funciona.
Alguém aqui já passou por esse erro recentemente? Recentemente, pelomenos desde 2015 pra cá. Pois com o java7, vc ainda podia autoassinar, reduzir segurança do JAVA e essas coisas. Hoje já não é mais bem assim. Vou colocar abaixo imagens do meu projeto, de como fiz pra assinar os arquivos e o código do arquivo JNLP.
Desde já agradeço a quem puder colaborar.
Imagem da estrutura do meu projeto:
Sessão Deploymente da propriedade do projeto:
Criação do certificado para assinatura dos “Jar”:
Arquivos gerados na pasta “dist” do projeto:
Arquivo JNLP gerado:
> <?xml version="1.0" encoding="utf-8"?> > <jnlp spec="1.0" xmlns:jfx="http://javafx.com" href="LoginExampleJPA.jnlp" codebase="http://localhost/dist/"> > <information> > <title>LoginExampleJPA</title> > <vendor>Refactore Ass. Informática</vendor> > <description>null</description> > <offline-allowed/> > </information> > <resources> > <jfx:javafx-runtime version="2.0+" href="http://javadl.sun.com/webapps/download/GetFile/javafx-latest/windows-i586/javafx2.jnlp"/> > </resources> > <resources> > <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/> > <jar href="Login Example-JPA.jar" download="eager" /> > <jar href="lib/eclipselink.jar" size="8884799" download="eager" /> > <jar href="lib/javax.persistence_2.1.0.v201304241213.jar" size="185041" download="eager" /> > <jar href="lib/mysql-connector-java-5.1.23-bin.jar" size="860467" download="eager" /> > <jar href="lib/org.eclipse.persistence.jpa.jpql_2.5.2.v20140319-9ad6abd.jar" size="1444036" download="eager" /> > <jar href="lib/postgresql-9.2-1002.jdbc4.jar" size="597204" download="eager" /> > </resources> > <security> > <all-permissions/> > </security> > <shortcut><desktop/></shortcut> > <applet-desc width="800" height="600" main-class="com.javafx.main.NoJavaFXFallback" name="LoginExampleJPA" > > <param name="requiredFXVersion" value="2.0+"/> > </applet-desc> > <jfx:javafx-desc width="800" height="600" main-class="com.Login" name="LoginExampleJPA" /> > <update check="background"/> > </jnlp>
Quando mando executar o projeto no browser, ele roda e aparece a mensagem:
JavaFX application could not launch due to system configuration (show error details). See java.com/javafx for troubleshooting information.
Ao executar o JNLP pelo HTML, nada acontece, ele roda como se fosse abrir e fecha.
Quando executo direto o JNLP aprece a mensagem de erro:
Ao clicar em detalhe, a mensagem é essa:
ExitException[ 3]com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://localhost/dist/Login Example-JPA.jar
at sun.plugin2.applet.JNLP2Manager.downloadResources(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source)
at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Bom pessoal, tentei detalhar o máximo possível todo o cenário e o que está ocorrendo.
Mais uma vez, antecipadamente, agradeço as ajudas.
Abraço,
Marcos Reis