Nullpointer по созданию простого учебника и запуску - PullRequest
2 голосов
/ 15 марта 2020

Я пытаюсь начать работу над первым кодом, но hello world терпит неудачу из коробки ...

Все, что я сделал, это создал Hello World (Bare Bones) в jdk 11, и я получил Nullpointer в этой строке ..

    final Label apple = new Label(theme.getImage("apple-icon.png")); 

Тема 'инициализируется в методе init (). Является ли более новая версия кодонов не вызывающей init, что делает пример hello world бесполезным?

Когда я пытаюсь отлаживать в jdk 11, в Intellij происходит сбой (обратите внимание, что отображается точная версия jdk11, если вам это нужно) , Из-за этого и еще не зная, как войти, я не смог отладить проблему дальше.

    /Library/Java/JavaVirtualMachines/jdk-11.0.5.jdk/Contents/Home/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:53436,suspend=y,server=n -Xms128m -Xmx2048m -XX:ReservedCodeCacheSize=240m -XX:+UseConcMarkSweepGC -XX:SoftRefLRUPolicyMSPerMB=50 -ea -XX:CICompilerCount=2 -Dsun.io.useCanonPrefixCache=false -Djava.net.preferIPv4Stack=true -Djdk.http.auth.tunneling.disabledSchemes=\"\" -XX:+HeapDumpOnOutOfMemoryError -XX:-OmitStackTraceInFastThrow -Djdk.attach.allowAttachSelf=true -Dkotlinx.coroutines.debug=off -Djdk.module.illegalAccess.silent=true -XX:+UseCompressedOops -Dfile.encoding=UTF-8 -XX:ErrorFile=$USER_HOME/java_error_in_idea_%p.log -XX:HeapDumpPath=$USER_HOME/java_error_in_idea.hprof -Dapple.laf.useScreenMenuBar=true -javaagent:/Users/dean/Library/Caches/IdeaIC2019.3/captureAgent/debugger-agent.jar -classpath "/Users/dean/workspace/keepInTouch/out/production/keepInTouch:/Users/dean/workspace/keepInTouch/src:/Users/dean/workspace/keepInTouch/lib/CodenameOne.jar:/Users/dean/workspace/keepInTouch/JavaSE.jar:native/internal_tmp:lib/impl/cls:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar" com.codename1.impl.javase.Simulator com.kit.phone.MyKit
    Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
            Connected to the target VM, address: '127.0.0.1:53436', transport: 'socket'
    JavaFX Not loaded.  Classpath=/Users/dean/workspace/keepInTouch/out/production/keepInTouch:/Users/dean/workspace/keepInTouch/src:/Users/dean/workspace/keepInTouch/lib/CodenameOne.jar:/Users/dean/workspace/keepInTouch/JavaSE.jar:native/internal_tmp:lib/impl/cls:/Applications/IntelliJ IDEA CE.app/Contents/lib/idea_rt.jar . Adding to classpath
    Adding JavaFX to your project properties file at nbproject/project.properties
    JavaFX should be correctly loaded the next time you run this project.
            Restarting JVM with JavaFX in the classpath.
    NOTE: If you are trying to debug the project, you'll need to cancel this run and try running debug on the project again.  JavaFX should now be in your classpath.
    Java HotSpot(TM) 64-Bit Server VM warning: Option UseConcMarkSweepGC was deprecated in version 9.0 and will likely be removed in a future release.
            ERROR: transport error 202: connect failed: Connection refused
    ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
    JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [:732]
    Disconnected from the target VM, address: '127.0.0.1:53436', transport: 'socket'

1 Ответ

1 голос
/ 15 марта 2020

Oracle удалено Java FX из JDK 9 и новее. Следовательно, если вы используете JDK 11, в котором его нет, вы получаете эту ошибку в отладчике.

Попробуйте запустить за пределами отладчика (обычный запуск). Он загрузит JavaFX неявно и исправит сам. Затем убейте ВМ и снова запустите. Обратите внимание, что вы ДОЛЖНЫ иметь соединение inte rnet для этого прогона, чтобы мы могли загрузить библиотеки JavaFX, соответствующие вашей виртуальной машине.

Также убедитесь, что ваш плагин обновлен.

ПРИМЕЧАНИЕ. используйте Java FX для функций браузера и мультимедиа, которые недоступны в другом месте. Это используется только в симуляторе, а не в устройстве. Ошибка в этом случае - это ошибка симулятора, а не кодового имени.

...