C# 응용 프로그램에서 Java 응용 프로그램을 시작하려면 어떻게합니까?C#에서 시작 jar
저는 미니 크래프트 런처를 만들고 있습니다. C# 응용 프로그램에서 jar를 시작하는 일반적인 방법이 있습니까?
C# 응용 프로그램에서 Java 응용 프로그램을 시작하려면 어떻게합니까?C#에서 시작 jar
저는 미니 크래프트 런처를 만들고 있습니다. C# 응용 프로그램에서 jar를 시작하는 일반적인 방법이 있습니까?
당신은 새로운 프로세스로 jar 파일을 시작할 수 :
는string appData = Environment.GetEnvironmentVariable("APPDATA");
Process.Start(@"java",
@"-Xms512m -Xmx1024m -cp """ + appData + @"\.minecraft\bin\*"" -Djava.library.path=""" + appData + @"\.minecraft\bin\natives"" net.minecraft.client.Minecraft");
이 java
가있는 가정하여 PATH
(자바가 설치 될 때 어떤 기본적으로 발생). 그렇지 않은 경우 java의 절대 경로를 사용하십시오.
이것은 게임을 직접 시작합니다. 사용자가 어디에 놓았는지 말하면 minecraft 발사기를 사용할 수 있습니다. 창문에서는 exe인데 직접 시작할 수 있습니다.
또한 APPDATA는 창 변수입니다. Linux의 경우 경로는 $HOME
또는 ~/
입니다. 또한 매개 변수는 완전히 동일하지 않습니다. 사용자가 Linux (또는 사과) 용 Mono로 앱을 실행한다고 가정합니다. Mono를 사용하여 옵션을 테스트 할 수는 없지만 사용할 수는 있습니다.
public static bool IsLinux
{
get
{
int p = (int) Environment.OSVersion.Platform;
return (p == 4) || (p == 6) || (p == 128);
}
}
올바른 시작 경로를 선택하는 데 도움이됩니다. 위의 코드는 here입니다. 위 샘플의 속성은 IsLinux
이라고되어 있지만 모노 문서의 인용문에 따르면 6
은 Mac OS X 용입니다.이 속성은 실제로 사과의 광신자가 그러한 경우를 설교하기 때문에 계속 IsUnix
이라고해야합니다. 사과는 창문만큼 유닉스 다.). 나는 이것을 시험 할 수있는 Macware가 없다. 나는 그것을 학생에게 맡긴다.
Windows 용 태그? – dwerner
가능한 복제본은 http://stackoverflow.com/questions/873809/how-to-execute-a-java-program-from-c 및 http://stackoverflow.com/questions/129989/how-to-call- java-code-from-c – walther