Я использую JDK 25, Apache Netbeans и Windows 11. Моя папка JavaFX SDK находится в C:\, и я проверил, что она действительно находится в папке lib, но компилятор по-прежнему говорит, что не может ее найти. Я почти уверен, что инициализировал правильные параметры виртуальной машины. Мой инструмент сборки — Ant.
Параметры виртуальной машины:
--module-path "C:\javafx-sdk-25.0.1\lib" --add-modules=javafx.controls,javafx.fxml
build.xml:
Builds, tests, and runs the project RoboJava.
Сообщение об ошибке, которое я постоянно получаю:
Произошла ошибка во время инициализации загрузочного уровня
java.lang.module.FindException: модуль javafx.fxml не найден
Также не удается найти javafx.controls
Что я, возможно, делаю неправильно, и почему компилятор не может найти эти два файла?
Я читал кое-что о зависимостях, вызывающих ошибки такого типа. Если это так, то как мне правильно настроить эти зависимости?
Полный код:
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template
*/
package robot2;
// Java FX library for playing mp3 audios
import com.phidget22.*;
import javafx.application.Application;
import javafx.scene.Scene;
//import javafx.scene.control.Label;
import javafx.stage.Stage;
import javafx.scene.media.*;
import java.io.FileInputStream;
import static javafx.application.Application.launch;
/**
*
* @author #
*/
public class Robot2 extends Application {
private boolean alarmBlaring = false; // debounce boolean. prevents multiple JavaFX threads while one is already active
/**
* @param args the command line arguments
*/
@Override
public void start (Stage stage)
{
if (!alarmBlaring)
{
alarmBlaring = true;
System.out.println("Alarm playing!");
String fileDir = "\"C:\\Users\\#\\Downloads\\alarm-clock-90867.mp3\""; // path to the mp3 audio file of the alarm
Media audioMedia = new Media(fileDir); // gets the file from the directory string
MediaPlayer alarm = new MediaPlayer(audioMedia); // declares the player of the mp3 file
alarm.setVolume(0.5);
alarm.setCycleCount(MediaPlayer.INDEFINITE); // loops the alarm audio indefinitely
try
{
alarm.play();
Thread.sleep(10000); // stop the alarm audio after 10 seconds
alarm.stop();
alarmBlaring = false;
}
catch (Exception e)
{
alarmBlaring = false;
System.out.println("error occured: " + e); // print out error message
}
}
}
public static void main(String[] args) throws Exception{
// TODO code application logic here
// configs
float dbThreshold = 20f; // the max difference to trigger the output device (speaker/light)
// inits
FileInputStream alarmDir = new FileInputStream(".mp3");
SoundSensor dbChecker = new SoundSensor();
double prevDb = 0;
dbChecker.setHubPort(4);
//dbChecker.setIsHubPortDevice(true);
//greenLED.open(1000);
dbChecker.open(5000);
while (true)
{
try
{
double db = dbChecker.getdB();
if (prevDb == 0)
{
prevDb = db;
} else
{
System.out.println("db: " + db + " | " + "prev: " + prevDb);
double dbDiff = db - prevDb;
if (dbDiff > dbThreshold)
{
launch(args);
}
}
prevDb = db;
//System.out.println("Recorded Decibles: " + db);
// db spike logic
}
catch (PhidgetException err)
{
System.out.println("Decibles exceed sensor capability");
}
Thread.sleep(250);
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... t-location
Модуль javafx.controls не найден, но он существует в нужном месте ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1766271191
Anonymous
Я использую JDK 25, Apache Netbeans и Windows 11. Моя папка JavaFX SDK находится в C:\, и я проверил, что она действительно находится в папке lib, но компилятор по-прежнему говорит, что не может ее найти. Я почти уверен, что инициализировал правильные параметры виртуальной машины. Мой инструмент сборки — Ant.
Параметры виртуальной машины:
--module-path "C:\javafx-sdk-25.0.1\lib" --add-modules=javafx.controls,javafx.fxml
build.xml:
Builds, tests, and runs the project RoboJava.
Сообщение об ошибке, которое я постоянно получаю:
Произошла ошибка во время инициализации загрузочного уровня
java.lang.module.FindException: модуль javafx.fxml не найден
Также не удается найти javafx.controls
Что я, возможно, делаю неправильно, и почему компилятор не может найти эти два файла?
Я читал кое-что о зависимостях, вызывающих ошибки такого типа. Если это так, то как мне правильно настроить эти зависимости?
Полный код:
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Main.java to edit this template
*/
package robot2;
// Java FX library for playing mp3 audios
import com.phidget22.*;
import javafx.application.Application;
import javafx.scene.Scene;
//import javafx.scene.control.Label;
import javafx.stage.Stage;
import javafx.scene.media.*;
import java.io.FileInputStream;
import static javafx.application.Application.launch;
/**
*
* @author #
*/
public class Robot2 extends Application {
private boolean alarmBlaring = false; // debounce boolean. prevents multiple JavaFX threads while one is already active
/**
* @param args the command line arguments
*/
@Override
public void start (Stage stage)
{
if (!alarmBlaring)
{
alarmBlaring = true;
System.out.println("Alarm playing!");
String fileDir = "\"C:\\Users\\#\\Downloads\\alarm-clock-90867.mp3\""; // path to the mp3 audio file of the alarm
Media audioMedia = new Media(fileDir); // gets the file from the directory string
MediaPlayer alarm = new MediaPlayer(audioMedia); // declares the player of the mp3 file
alarm.setVolume(0.5);
alarm.setCycleCount(MediaPlayer.INDEFINITE); // loops the alarm audio indefinitely
try
{
alarm.play();
Thread.sleep(10000); // stop the alarm audio after 10 seconds
alarm.stop();
alarmBlaring = false;
}
catch (Exception e)
{
alarmBlaring = false;
System.out.println("error occured: " + e); // print out error message
}
}
}
public static void main(String[] args) throws Exception{
// TODO code application logic here
// configs
float dbThreshold = 20f; // the max difference to trigger the output device (speaker/light)
// inits
FileInputStream alarmDir = new FileInputStream(".mp3");
SoundSensor dbChecker = new SoundSensor();
double prevDb = 0;
dbChecker.setHubPort(4);
//dbChecker.setIsHubPortDevice(true);
//greenLED.open(1000);
dbChecker.open(5000);
while (true)
{
try
{
double db = dbChecker.getdB();
if (prevDb == 0)
{
prevDb = db;
} else
{
System.out.println("db: " + db + " | " + "prev: " + prevDb);
double dbDiff = db - prevDb;
if (dbDiff > dbThreshold)
{
launch(args);
}
}
prevDb = db;
//System.out.println("Recorded Decibles: " + db);
// db spike logic
}
catch (PhidgetException err)
{
System.out.println("Decibles exceed sensor capability");
}
Thread.sleep(250);
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79838375/javafx-controls-module-cant-be-found-but-it-exists-in-the-right-location[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия