Итак, после бесчисленных попыток я наконец-то выяснил, что Netbeans / Maven использовал неправильный java .exe для запуска программы, даже если они якобы указывали на правильный исполняемый файл. У меня есть Java программы, для которых требуется 32-битная версия Java 8, поэтому у меня на компьютере установлены 32-битная (по умолчанию) и 64-битная версия AdoptOpenJDK 8, а также 64-битная версия AdoptOpenJDK 11.
Я наконец понял, что исполняемый файл Java 11 имеет опцию --add-exports
, хотя Netbeans и Maven оба жаловались, что это не было опцией при использовании исполняемого файла Java 8. Я закончил тем, что изменил файл nbactions.xml
, чтобы он указывал конкретно на исполняемый файл Java 11, и он начал работать правильно!
Вот файл nbactions. xml file:
<actions>
<action>
<actionName>run</actionName>
<packagings>
<packaging>jar</packaging>
</packagings>
<goals>
<goal>process-classes</goal>
<goal>org.codehaus.mojo:exec-maven-plugin:1.6.0:exec</goal>
</goals>
<activatedProfiles>
<activatedProfile>default</activatedProfile>
</activatedProfiles>
<properties>
<exec.args>--add-exports=java.naming/com.sun.jndi.ldap=spring.ldap.core --module-path='${project.build.directory}/modules' --module=${moduleName}/${mainClass}</exec.args>
<exec.executable>C:\Program Files\AdoptOpenJDK\jdk-11.0.3.7-hotspot\bin\java</exec.executable>
</properties>
</action>
Ранее exe c .executable выглядел так java. Убедитесь, что Netbeans / Maven действительно использует правильный исполняемый файл!