J'ai un fichier .jar java créé avec NetBeans. J'utilise apaches procrun (prunsrv.exe) pour installer ce fichier .jar en tant que service Windows. J'ai modifié le code pour obtenir une propriété d'un fichier config.properties. Je ajouté le fichier config.properties dans le même dossier que mon fichier .jar réside dans Mon code est le suivant:.service prunsrv avec fichier de propriétés externes
Properties props = new Properties();
InputStream inputStream = MyService.class.getClassLoader().getResourceAsStream("config.properties");
props.load(inputStream);
Sur la dernière ligne de mon code, je reçois un NPE lorsque je tente pour commencer mon service. Je suppose que c'est parce que le fichier n'est pas trouvé. j'ai modifié le manifest.mf comme suit:
Class-Path: .
J'ai aussi essayé de copier config.properties dans le dossier « lib » (sous-dossier à l'endroit où mon fichier .jar est situé). Mêmes résultats
I modifié la ligne "set PR_CLASSPATH" dans le fichier batch qui installe le service comme suit:
set PR_CLASSPATH=MyService.jar;.
Encore même NPE.
Comment puis-je obtenir mon code pour reconnaître mon fichier config.properties une fois le service installé?
Merci, Raymond
Même numéro. J'ai passé "config.properties" à cette méthode et le InputStream est toujours nul. –
Pouvez-vous copier la copie du fichier de configuration dans un chemin de dossier absolu spécifique (c.-à-d. C: \ test) et modifier le chemin de classe pour pointer vers ce dossier (set PR_CLASSPATH = MyService.jar;.; C: \ test). Et puis réessayer? –
C'est ce qu'il a fait. Après avoir essayé cela et cela a fonctionné, j'ai simplement créé un dossier "resources" sous ma racine et l'ai ajouté à mon CLASSPATH. Je crois que mon problème était l'utilisation du manifest.mf en conjonction avec le "set PR_CLASSPATH" dans mon install.bat. J'ai supprimé l'entrée Chemin de classe dans mon fichier manifest.mf et modifié le fichier PR_CLASSPATH pour inclure tout ce dont j'avais besoin. –