我们有一个 java 应用程序,我们用一个参数(一个选定的文件夹)调用它,它在 C# 中运行良好。
但是,我不知道如何在 Objective-C 中做到这一点;我找到了 LaunchApplication 命令,但它有点模糊。
有人可以帮帮我吗?
我试过以下方法:
[[NSWorkspace sharedWorkspace] openFile:@"/Users/tharvey/Desktop/Test.jar" withApplication:@"/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java"];
这会在控制台中引发关于无法启动 java 应用程序的错误,并且:
NSTask *javaApp = [[NSTask alloc] init];
[javaApp setLaunchPath:@"/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin/java"];
NSArray *javaAppArguments = [[NSArray alloc] init];
javaAppArguments = [NSArray arrayWithObjects:@" -jar ", @"/Users/tharvey/Desktop/Test.jar", nil];
[javaApp setArguments:javaAppArguments];
[javaApp launch];
但是上面的代码不起作用;并且不会引发错误。
除非启动 jar 会自行运行?
最佳答案
因为它是一个 Java 应用程序,而不是一个文档,您应该可以这样做:
NSString *jarPath = @"/Users/tharvey/Desktop/Test.jar"
[[NSWorkspace sharedWorkspace] openFile:jarPath];
(假设在Finder中双击可以正常启动应用)
关于java - 在桌面上从 Objective-C 启动一个进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1460263/