Chemin relatif dans un projet Maven JEE (IDE Eclipse)
kaka1989
Messages postés
12
Statut
Membre
-
kaka1989 Messages postés 12 Statut Membre -
kaka1989 Messages postés 12 Statut Membre -
Bonjour,
j'ai un problème de création d'un File en utilisant chemin relatif dans une Beans.
j'ai mon Bean qui existe dans le dossier /src/main/java/service/FileUploadController.java de mon projet, et j'ai le dossier ou je veux Uploader les fichiers dedans qui exsite /WEB-INF/files
voila mon code :
file = File.createTempFile(prefix + "_", "." + suffix,new File("/WEB-INF/files"));
output = new FileOutputStream(file);
IOUtils.copy(uploadedFile.getInputstream(), output);
Exception :
java.io.IOException: Le chemin d'accès spécifié est introuvable
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at service.FileUploadController.handleFileUpload(FileUploadController.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:277)
j'ai un problème de création d'un File en utilisant chemin relatif dans une Beans.
j'ai mon Bean qui existe dans le dossier /src/main/java/service/FileUploadController.java de mon projet, et j'ai le dossier ou je veux Uploader les fichiers dedans qui exsite /WEB-INF/files
voila mon code :
file = File.createTempFile(prefix + "_", "." + suffix,new File("/WEB-INF/files"));
output = new FileOutputStream(file);
IOUtils.copy(uploadedFile.getInputstream(), output);
Exception :
java.io.IOException: Le chemin d'accès spécifié est introuvable
at java.io.WinNTFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(Unknown Source)
at java.io.File.createTempFile(Unknown Source)
at service.FileUploadController.handleFileUpload(FileUploadController.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.el.parser.AstValue.invoke(AstValue.java:277)
A voir également:
- Chemin relatif java
- Jeux java itel - Télécharger - Jeux vidéo
- Waptrick java football - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
1 réponse
Bonjour,
Tu ne peux pas accéder au contenu d'un jar/war/ear avec un chemin relatif, il faut que tu récupères la ressource avec le ClassLoader.
https://mkyong.com/java/java-getresourceasstream-in-static-method/
Tu ne peux pas accéder au contenu d'un jar/war/ear avec un chemin relatif, il faut que tu récupères la ressource avec le ClassLoader.
https://mkyong.com/java/java-getresourceasstream-in-static-method/
Par contre il doit être placé dans le bon dossier. Avec Maven ça devrait être src/main/resources
Mais mettre un fichier de ressources ailleurs, par exemple dans ton dossier files, ce n'est pas propre, les projets Maven sont fait de tels sortes que l'architecture soit respectée. Si tu veux faire ta propre configuration, n'utilise pas Maven...
À voir : La structure de répertoires Maven 2
public String getFilePathToSave() {
Properties prop = new Properties();
String filePath = "";
try {
InputStream inputStream =
getClass().getClassLoader().getResourceAsStream("src/main/resources");
prop.load(inputStream);
filePath = prop.getProperty("json.filepath");
} catch (IOException e) {
e.printStackTrace();
}
return filePath;
}