J'ai un petit programme utiliser Scala et je veux l'emballer dans une graisse jar exécutable, les configurations définies dans le fichier étincelle: src/main/resource/localconfig.properties
, donc je nouvelle une instance de org.apache.hadoop.fs.Path(String pathString)
dans src/main/scala/com.let.App
:Comment construire le chemin de HDFS à partir de propriétés en pot?
val Path = new Path("localconfig.properties")
le problème est il peut fonctionner sur IDEA mais a échoué lorsque le paquet dans le jar et exécuté avec java -jar myapp.jar
, invite: fichier introuvable.
J'extraire le fichier jar et le fichier de propriétés se trouve dans le dossier racine: myapp, j'ai aussi essayé Path("resources/localconfig.properties")
et cela ne fonctionne pas aussi.
comment est-ce que je peux placer le bon chemin pour le chemin dans un pot exécutable?
C'est l'environnement de Windows, j'ai lu la méthode Path() il semble se rapporter au système d'exploitation mais encore je n'ai aucune idée comment utiliser le constructeur.
L'objet "fs.Path" est travaillé avec HDFS. Sur Windows env, HDFS et le répertoire local sont les mêmes. Mais sur Hadoop env ils sont différents. Devinez, le fichier de configuration peut être lu comme un simple fichier (pas "fs.Path"). Ou fichier de configuration peut être mis sur HDFS. – pasha701