我正在使用C#为Kinect开发一些程序。 C#没有Java用于模拟击键或鼠标移动的机器人,所以我正在使用Java。目前,我正在创建.jar文件并尝试从C#应用程序运行它们(尽管我怀疑有更好的方法)。我这样做的方法是将这一行放在我的C#代码中:
System.Diagnostics.Process.Start("CMD.exe", java -jar C:\\Users\\Me\\RobotProgram.jar");
这在一个小型的基本C#应用程序中运行良好:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
System.Diagnostics.Process.Start("CMD.exe", "/c java -jar C:\\Users\\Me\\RobotProgram.jar");
}
}
}
但是当它在一个使用Kinect相机的更复杂的程序中时,它将无法工作。控制台闪烁说“在初始化VM java / lang / NoClassDefFoundError:java / lang / Object期间出错”。
答案 0 :(得分:0)
Java项目可能正在工作目录中查找所需的文件。尝试在启动之前设置工作目录。
Directory.SetCurrentDirectory("C:\\Users\\Me");
System.Diagnostics.Process.Start("CMD.exe", "/c java -jar C:\\Users\\Me\\RobotProgram.jar");
答案 1 :(得分:0)
您可能需要指定应用程序的入口点。
答案 2 :(得分:0)
您是否在运行复杂程序的环境中正确设置了JAVA_HOME环境变量?
错误指向空/错JAVA_HOME,因为即使找不到基类