Comment charger une image ? - Java - Programmation
Marsh Posté le 20-04-2023 à 18:08:27
Dans un projet style Maven tu mets tes ressources dans src/main/resources et src/test/resources respectivement.
L'outil de build devrait les copier à la racine du classpath et ton bout de code devrait fonctionner.
Marsh Posté le 20-04-2023 à 18:58:20
Super ça fonctionne niquel, j'ai fait ensuite un petit clic droit sur le dossier puis "mark as resource root"
Puis le chemin c'est /monFichier
(le projet est sous gradle)
Merci beaucoup !!!
Question subsidiaire : si je crée un runnable .jar ça ne fonctionne plus : url is null
C'est un truc de fou
Marsh Posté le 20-04-2023 à 19:21:46
ReplyMarsh Posté le 20-04-2023 à 20:14:20
Montre ton build.gradle?
Je connais pas bien Gradle mais je viens de tester et le plugin application copie bien les ressources dans le .jar ici.
Marsh Posté le 20-04-2023 à 20:41:10
J'ai essayé en ajoutant ça, sans succès :
sourceSets {
main {
resources {
srcDirs = ["src/main/resources"]
}
}
}
jar {
from sourceSets.main.resources
}
Marsh Posté le 20-04-2023 à 22:45:06
Même sans le plugin application ça marche pour moi.
|
build.gradle.kts
Code :
|
|
Citation : |
Marsh Posté le 21-04-2023 à 12:34:31
J'y suis arrivé en ajoutant le dossier resources dans project structures / artifacts / output layout / + / directory content (j'y croyais plus nom de diou)
Merci DDT pour l'indication du dossier src/main/resources !
rat de combat a écrit : Bah c'est du Java. Pardon, je sors. |
A chaque appli que je fais, pour inclure un fichier dans le jar c'est l'enfer
Je peux vous dire que je vais noter toute la procédure avec les détails
Marsh Posté le 21-04-2023 à 12:39:57
Mais comment tu assembles le jar?
Car de nouveau le comportement par défaut de Gradle est correct ici, y a rien besoin de configurer.
Marsh Posté le 21-04-2023 à 12:44:36
Je fais, dans intellij : build / build artifact
Marsh Posté le 21-04-2023 à 13:03:22
Tente de réimporter le projet: tu le fermes, efface le répertoire .idea our le fichier .iml, puis rouvres le projet.
Y a pas de raison qu'IntelliJ IDEA importe pas correctement la structure de dossiers par défaut.
Cela dit tu devrais plutôt passer la commande à Gradle directement, avoir un comportement reproductible c'est un peu le but d'un outil de build.
Marsh Posté le 22-04-2023 à 09:17:45
Si j'efface .idea et .iml ça me fout le boxon et faut que je refasse mon artifact dans project structure
Je reste comme ça, ça me va bien !
Marsh Posté le 20-04-2023 à 11:13:31
Salut !
Pour mettre une icone, sur ma précédente app je fais
et ça fonctionne
Mais sur mon app que je dev actuellement ça ne marche pas du tout, peu importe ou je mette mon dossier MediaFilesVR.
L'arborescence de mon app actuelle où ça marche pas :
Mon app ou ça marche :
Avez vous une idée ? L'erreur c'est "Cannot invoke "java.net.URL.toString()" because "url" is null"
Et impossible de "mark directory as resource" l'option n'apparait pas, j'ai uniquement "Excluded" comme choix
Merci d'avance c'est un véritable enfer
Message édité par Lt Ripley le 20-04-2023 à 17:33:22
---------------
Mes apps | Viens coder | Mon topal de vente