- Je souhaite exécuter un fichier jar à partir de l'application C# .net. Le fichier jar est une application console. Le fichier jar est présent dans le même répertoire que l'application C#. 2. Je veux vérifier si jdk est installé frm dans C# .net applcation Comment puis-je faire cela?
Répondre
Utilisation
Process
pour démarrerjava
arguments de passage de processus-jar yourjar.jar
. Les JDK sont généralement installés enc:\Program Files\Java\jdk...
. Vérifiez si ce dossier existe, il devrait s'adapter à la plupart des cas. Ou vérifiezHKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit
dans le registre.
Avoir un fichier de commandes qui contient tout ce dont vous avez besoin pour démarrer votre application Java.
E.g. "Javaw -classpath chemin de jarre"
System.Diagnostics.Process.Start("batchfile");
Plus here
Pour la question 2, la suggestion de elder_george devrait fonctionner.
Si le dossier java/bin est dans le chemin de l'environnement, vous pouvez essayer:
System.Diagnostics.Process.Start("java.exe", "-version");
Si aucune exception, vous avez probablement un fichier java.exe valide.
Le C# méthode
Process::Start(program, argumentString)
peut être utilisé pour lancer des applications arbitraires, donc si vous connaissez la commande pour démarrer Java application à partir de la ligne de commande, vous pouvez déduire les arguments à traiter: Démarrer().
La commande Java sera
java -jar <jarfile> {and maybe <mainClass>}
Ainsi, les problèmes ici sont
- est disponible java, est-il sur votre chemin?
- quel est le chemin du fichier jar
- quel est le nom de la classe dans le fichier jar implémentant main? Si les personnes livrant le jarfile ont été amicales, alors le manifeste du JAR spécifie le nom de la classe principale, donc vous n'aurez pas besoin de cet argument. Sinon, nous espérons que cela a été documenté quelque part.
Si Java a été installé correctement, il devrait déjà être sur votre PATH. Essayez-le depuis la ligne de commande. Je pense qu'il est raisonnable d'effectuer une pré-req que Java soit installé, donc dans votre application C# Je voudrais juste supposer que Java est disponible et que vous essayez de le démarrer, puis prendre toute défaillance avec un code tel que:
catch (Win32Exception e)
{
if(e.NativeErrorCode == ERROR_FILE_NOT_FOUND)
{
Console.WriteLine(e.Message + ". Check the path.");
}
etc.
- 1. Application Dot Dot Net
- 2. TFS construit pour une application non-dot net
- 3. versioning en dot net
- 4. Azure et Dot net
- 5. Exécution d'une application .NET sans cadre .NET
- 6. Immuable Dot Net cordes
- 7. Exécution d'un autre fichier jar dans un programme Java
- 8. lien dyanamic en dot net
- 9. Dot Net Nuke Installation
- 10. fenêtres de redémarrage application à l'aide dot net
- 11. dot net 3.5 application pour fonctionner sur IIS7.5
- 12. Exécution d'un fichier jar à partir d'un script shell
- 13. En mémoire jar/exécution de fichier de classe
- 14. Dot Net Nuke - Sous Domaines
- 15. Exécution d'une application .NET sur Azure
- 16. que signifie dot et net?
- 17. Exécution d'une application .NET plus lente
- 18. Créer un fichier jar pour une application RMI java
- 19. Exécution d'un fichier JAR sans appeler directement `java`
- 20. adhésion personnalisée pour dot net nuke
- 21. Ajout d'un fichier JAR à une application Android
- 22. Bibliothèques de rendu de polices pour C#/dot-NET?
- 23. Application IIS .net, possible d'héberger un fichier .vb dans une application C#?
- 24. Exécution d'un démarrage JAR sur X
- 25. créer un fichier CSV dans C# net application fenêtre
- 26. Timers dans une application .NET
- 27. Existe-t-il un concept ou une implémentation similaire à java RMI dans dot net (C#)?
- 28. Existe-t-il une bibliothèque Dot NET (C#) pour les opérations MS Excel (lecture/écriture)?
- 29. Quel est l'équivalent "urllib2" de python dans dot net?
- 30. Exécution d'une application console C/C++ à l'intérieur d'une application C# fenêtrée?
Cela semblait être la solution pour nous. merci – jazzBox