答案 0 :(得分:3)
c#方法
Process::Start(program, argumentString)
可用于启动任意应用程序,因此如果您知道从命令行启动Java应用程序的命令,则可以推断出Process:Start()的参数。
Java命令将是
java -jar <jarfile> {and maybe <mainClass>}
所以这里的问题是
如果已经很好地安装了Java,那么它应该已经在你的PATH上了。从命令行尝试它。我认为预先安装java是合理的,所以在你的c#app我只是假设Java可用并尝试启动它,然后用以下代码捕获任何失败:
catch (Win32Exception e)
{
if(e.NativeErrorCode == ERROR_FILE_NOT_FOUND)
{
Console.WriteLine(e.Message + ". Check the path.");
}
等。
答案 1 :(得分:1)
包含批处理文件,其中包含启动Java应用程序所需的任何内容。
E.g。 “javaw -classpath path-of-jar”
System.Diagnostics.Process.Start("batchfile");
更多here
对于问题2, elder_george的建议应该有效。
如果java / bin文件夹位于环境路径中,您可以尝试:
System.Diagnostics.Process.Start("java.exe", "-version");
如果没有异常,您可能有一个有效的java.exe文件。
答案 2 :(得分:0)
使用Process
启动java
流程传递参数-jar yourjar.jar
。
JDK通常安装在c:\Program Files\Java\jdk...
中。检查此文件夹是否存在,它应该适合大多数情况。或者在注册表中查看HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit
。