Erro ao executar o programa java

1

Estou tentando usar um aplicativo Java no Windows 7 chamado "ldraw2sunflow". Converte entre dois formatos de modelos 3D. O programa é descrito aqui . Enfim, o programa rodou na primeira vez que tentei, mas agora deixa de rodar.

Isso é estranho porque o programa funcionou corretamente

no passado.

Aqui está o erro:

Jan 31, 2018 3:27:49 PM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0
x80000002. Windows RegCreateKeyEx(...) returned error code 5.
Jan 31, 2018 3:27:49 PM org.ldraw2sunflow.ui.Ldraw2Sunflow <init>
INFO: en_US
Exception in thread "AWT-EventQueue-0" java.lang.StringIndexOutOfBoundsException
: String index out of range: -1
        at java.lang.String.substring(Unknown Source)
        at org.ldraw2sunflow.util.PartFinder.loadColor(PartFinder.java:274)
        at org.ldraw2sunflow.util.PartFinder.setLDRAWDIR(PartFinder.java:172)
        at org.ldraw2sunflow.ui.impl.LDrawPanel.initPreferences(LDrawPanel.java:122)
        at org.ldraw2sunflow.ui.impl.LDrawPanel.<init>(LDrawPanel.java:47)
        at org.ldraw2sunflow.ui.Ldraw2Sunflow.<init>(Ldraw2Sunflow.java:80)
        at org.ldraw2sunflow.ui.Ldraw2Sunflow.lambda$main$10(Ldraw2Sunflow.java:114)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
        at java.awt.EventQueue.access$500(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.awt.EventQueue$3.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)

Duas perguntas:

  1. O que está causando o erro?
  2. Posso corrigir esse problema sem ter o código-fonte?

Obrigado.

[editar]

Aqui está minha linha de comando: "C:\Program Files\Java\jre1.8.0_161\bin\java.exe" -Xmx1G -jar "E:\Programs Windows\LDraw\LDraw2Sunflow_f\ldraw2sunflow.jar"

[editar]

Eu suspeito que é algum tipo de problema de registro, desde quando eu excluir "HKEY_USERS \ S-1-5-21-2113055238-2099637611-63920502-1003 \ Software \ JavaSoft \ Prefs \ org" usando regedit, o programa será comece de novo. No entanto, os caminhos da biblioteca armazenados estão faltando quando eu reiniciar o programa, então eu tenho que digitá-los novamente. (E de novo, e de novo e de novo, toda vez que eu paro / começo o programa.)

O programa atual está falhando em outro lugar agora:

Exception in thread "Thread-4" java.lang.UnsatisfiedLinkError: no lwjgl in java.
library.path
        at java.lang.ClassLoader.loadLibrary(Unknown Source)
        at java.lang.Runtime.loadLibrary0(Unknown Source)
        at java.lang.System.loadLibrary(Unknown Source)
        at org.lwjgl.LWJGLUtil.loadLibrarySystem(LWJGLUtil.java:337)
        at org.lwjgl.Sys.<clinit>(Sys.java:29)
        at org.ldraw2sunflow.lwjgl.PreviewOpenGL.run(PreviewOpenGL.java:160)
        at org.ldraw2sunflow.ui.impl.RenderPanel.convertFile(RenderPanel.java:11
7)
        at org.ldraw2sunflow.ui.impl.RenderPanel.access$000(RenderPanel.java:61)

        at org.ldraw2sunflow.ui.impl.RenderPanel$1.run(RenderPanel.java:85)
    
por posfan12 31.01.2018 / 21:39

1 resposta

1

É conhecido o problema de Java.

1. Primeiro passo:

Se você está executando seu programa assim:

java -jar ldraw2sunflow.jar

adicione caminho completo aos dois arquivos, algo como:

/usr/java/<version>/bin/java -jar /home/<username>/Downloads/ldraw2sunflow.jar

2. Segundo passo:

Para o Windows 7:

  1. Iniciar "Painel de controle"
  2. Clique em "Programas padrão"
  3. Clique em "Associar um tipo ou protocolo de arquivo a um programa específico"
  4. Clique duas vezes em .jar
  5. Navegue em C: \ Arquivos de programas \ Java \ jre1.8.0_161 \ bin \ javaw.exe
  6. Clique no botão Abrir
  7. Clique no botão OK

3. Último passo:

Converta jar em exe . De qualquer forma, você precisará do JRE para executá-lo, mas ele será 100% executável. Existem muitas variantes desses conversores. Anteriormente eu usava o jar2exe .

    
por 31.01.2018 / 21:48

Tags