2015-09-09 4 views
1

Я работаю над проектом JavaFX 8 (maven). Я хочу сохранить файл fxml внутри папки источников (не внутренних).
Когда я храню FXML на месте/SRC/основной/ресурсы /views/b/MyFxml.fxml Я загружая его без ошибок с помощью команды,Загрузить файл fxml, расположенный в папке «src» maven

new FXMLLoader(getClass().getResource("/views/b/MyFxml.fxml")); 

Есть ли способ, чтобы загрузить мой FXML файл из/src/main/java /package/name/RoleView.fxml location?

ответ

5

Java не проводит различия между ресурсами и источниками. Пока ваш файл fxml будет виден в пути к классам (соответствующим образом упакованному в * .jar), вы можете достичь его таким же образом. Учитывая, что вы используете Maven, это конфигурация, вам необходимо:

<project> 
    ... 
    <build> 
    ... 
    <resources> 
     <resource> 
     <directory>src/main/java</directory> 
     <includes> 
      <include>**/*.fxml</include> 
     </includes> 
     </resource> 
     ... 
    </resources> 
    ... 
    </build> 
    ... 
</project> 

Затем эта линия должна работать, чтобы загрузить файл:

new FXMLLoader(getClass().getResource("/package/name/RoleView.fxml")); 
+0

я не включил эту конфигурацию мавена и мой FXML был не входит в файл jar. Спасибо. –

Смежные вопросы