Je commence à créer des modèles d’URI personnalisés et j’essaie de lancer un fichier jar exécutable à l’aide de modèles d’URI dans mon système Windows 7.
Pour exécuter ce fichier jar à partir d'une invite de commande, j'utilise cette commande:
java -jar demo.jar
MODIFIER:
Pour lancer la même chose en utilisant le schéma d'URI personnalisé, j'ai créé un .reg
fichier avec l'entrée ci-dessous ( copié à partir de l'article ci-dessous ):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\DemoStart]
"URL Protocol"=""
[HKEY_CLASSES_ROOT\DemoStart\shell]
[HKEY_CLASSES_ROOT\DemoStart\shell\open]
[HKEY_CLASSES_ROOT\DemoStart\shell\open\command]
@="\"java.exe\" -jar \"C:\\Users\\John\\Desktop\\demo.jar\""
Cela ne fonctionne pas pour la raison suivante:
Le fichier jar exécutable que j'essaye d'exécuter nommée demo.jar
est un fichier jar fourni par une tierce partie. Il comporte de nombreuses dépendances sur les fichiers de configuration XML également situés dans le même dossier que le fichier jar. Je n'ai pas le privilège de changer le code présent dans le fichier jar.
À l’aide de l’invite de commande, la commande "java.exe" -jar "demo.jar"
ne fonctionne que lorsque je navigue dans le dossier contenant à la fois le demo.jar
fichier ainsi que le fichier dependent config xml files
. MAIS si j'essaie d'exécuter la commande: à "java.exe" -jar "C:\Users\John\Desktop\demo.jar"
partir de l'emplacement par défaut de la fenêtre d'invite de commande (ce qui est mon cas C:\Users\John
), la commande ne fonctionne pas car les fichiers xml de configuration dépendants ne sont pas disponibles.
Par conséquent, je dois trouver un moyen de changer l'emplacement par défaut de l'invite de commande avant d'exécuter le fichier jar.
Indiquez s'il est possible de définir l'emplacement par défaut de l'invite de commande sur C:\Users\John\Desktop
lorsque je déclenche l'URI personnalisé (dans ce cas, il n'est pas nécessaire de naviguer vers un autre emplacement et la commande devrait fonctionner correctement).
.txt
fichier, modifié l'extension du fichier.reg
, mis le code que vous avez posté ci-dessous, puis double-cliquez sur le.reg
fichier pour créer l'entrée de registre. Puis j'ai vérifié la même chose dans leregedit
.