У меня была эта проблема и я нашел этот пост. Моя проблема была просто проблемой с именем файла.
FXMLLoader(getClass().getResource("/com/companyname/reports/" +
report.getClass().getCanonicalName().substring(18).replaceAll("Controller", "") +
".fxml"));
Parent root = (Parent) loader.load();
У меня есть xml, из которого все это происходит, и я убедился, что мой класс такой же, как файл fxml, меньше словаря.
Я испортил подстроку, поэтому путь был неправильным ... достаточно уверен, после того как я исправил имя файла, с которым он работал.
Короче говоря, я думаю, что Проблема в том, что имя файла названо неправильно или путь неправильный.
ДОПОЛНЕНИЕ: С тех пор я перешел в проект Maven. Способ не Maven заключается в том, чтобы иметь все внутри вашего пути к проекту. Способ Maven, который был указан в нижеприведенном ответе, был немного разочаровывающим с самого начала, но я внес изменения в свой код следующим образом:
FXMLLoader loader = new FXMLLoader(ReportMenu.this.getClass().getResource("/fxml/" + report.getClass().getCanonicalName().substring(18).replaceAll("Controller", "") + ".fxml"));
Вы можете увидеть этот пример кода о том, как проверить, существует ли папка назначения и вернуть ее идентификатор.
def get_folder_id(drive, parent_folder_id, folder_name):
"""
Check if destination folder exists and return it's ID
"""
# Auto-iterate through all files in the parent folder.
file_list = GoogleDriveFileList()
try:
file_list = drive.ListFile(
{'q': "'{0}' in parents and trashed=false".format(parent_folder_id)}
).GetList()
# Exit if the parent folder doesn't exist
except googleapiclient.errors.HttpError as err:
# Parse error message
message = ast.literal_eval(err.content)['error']['message']
if message == 'File not found: ':
print(message + folder_name)
exit(1)
# Exit with stacktrace in case of other error
else:
raise
# Find the the destination folder in the parent folder's files
for file1 in file_list:
if file1['title'] == folder_name:
print('title: %s, id: %s' % (file1['title'], file1['id']))
return file1['id']
Также из этого учебника вы можете проверить, существует ли папка, а если нет, то создать ее с заданным именем.