在C#中运行JAR文件而不提供PROCESS的路径

时间:2015-09-26 13:59:19

标签: java c# visual-studio xamarin

我想从In [1]: list1 = [1,2,3,4] # some list In [2]: a = list1.append(5) # append '5' to the list and assign return value to 'a' In [3]: print a None # means '.append()' operation returned None In [4]: list1 Out[4]: [1, 2, 3, 4, 5] In [5]: list1.append(6) In [6]: list1 Out[6]: [1, 2, 3, 4, 5, 6] 文件中java运行来自c#的应用程序。我看到的一些解决方案包括:

jar

这是正常运行的代码。

但我想避免添加代码路径。因为我希望“jar文件”包含在文件可执行文件中(bin中的.exe)。

我正在使用ProcessStartInfo ps = new ProcessStartInfo (@"C:\Program Files\Java\jdk1.8.0_60\bin\java.exe", @"-jar C:\Users\tinkzz\Documents\Eclipse\export\control_shift.jar"); ps.UseShellExecute = false; Process.Start (ps); IDE用于我的xamarin控制台项目。不过我也有C#。您能否建议一种方法来运行visual studio文件,方法是将其包含在jar / xamarin项目中。

1 个答案:

答案 0 :(得分:1)

一个jar本身并不是可执行的(即使是一个“可执行”的jar--它只是一个提供默认main清单的jar。您需要提供可执行文件(java.exe)的路径,以便操作系统知道要启动哪个可执行文件。您可以将扩展名为.jar的文件与Windows上的特定Java安装相关联,然后通过提供jar而不是可执行文件的路径来“执行”jar,但是您需要将UseShellExecute设置为true。为了利用这种关联。