2017-05-20 1 views
0

je convertir mon projet JavaFX/TornadoFX dans un projet gradle, j'ai toutes mes ressources dans un paquet de ressources appelé ... tout fonctionne mais quand je construis le projet, les paquets , qui ne contiennent aucun code source, ne déplacez pas vers le dossier jar/build.Intellij ne comprenant pas tous les fichiers dans la construction

Depuis que je suis le chargement de mon FXML, les fichiers CSS et polices du paquet, je besoin de dire IntelliJ en quelque sorte d'inclure ce paquet ...

Toutes les idées?

J'ai essayé de créer marquer le paquet comme ressources, mais sans aucun succès

J'ai aussi essayé de créer un projet tornadoFX puis copier les fichiers avec l'ensemble des ressources ... aussi ne fonctionnait pas.

J'ai essayé de créer une classe aléatoire à l'intérieur du paquet de ressources et que la classe a été copié dans le pot/build dossier

Est-il possible comment dire IntelliJ d'inclure tout dans le module non seulement la source code?

EDIT: Pour une meilleure compréhension de mon problème, j'ai ajouté quelques captures d'écran

voici comment mon src dir ressemble:

Src file

mais quand je construis (il ne contient pas la ressource paquet ...):

Out file

Répondre

2

La convention est que par défaut, seulement les classes compilées dans les dossiers sources sont copiées dans le dossier de construction. Vous devez placer les fichiers arbitraires que vous souhaitez inclure dans votre build dans src/main/resources.

Pour accéder aux fichiers mis en src/main/resources à partir du chemin de classe de votre application, vous devez vous y référer par le chemin d'accès complet. Donc src/main/resources/myfile.txt serait accessible via /myfile.txt.

Vous pouvez créer des dossiers sous le dossier des ressources, de sorte que src/main/resources/views/MyView.fxml soit accessible via /view/MyView.fxml.

Si vous mettez en miroir la structure de package de vos fichiers source, vous pouvez accéder à une ressource pour une vue ou un fragment donné en utilisant un chemin relatif uniquement. Ainsi, pour le fichier com.example.myapp.MyView, vous pouvez créer src/main/resources/com/example/myapp/MyView.fxml. Il serait automatiquement récupéré pour le délégué fxml, ou via resources["MyView.fxml"] depuis MyView.