我从C#中创建了用于调用java类文件的Windows服务。我用bat文件在C#中调用这个java文件。 java类的任务是创建输出文件。但是当声明服务输出文件没有创建时。当从bat文件调用时,java类是完全没有服务的perfeclty。 (但是任务管理器可以显示命令提示符的实例。)
是否可以通过windws servise中的bat文件调用java类?
答案 0 :(得分:0)
我认为该问题可能与用户权限有关 - Windows服务通常在网络服务a / c下运行,可能无权在许多位置写入文件。因此,我建议您尝试在每个用户都具有写入权限的位置编写文件(或修改您要写入文件的文件夹权限)。
答案 1 :(得分:0)
这有点长,但你可以使用类似iKVM的东西直接从.NET调用Java类。
答案 2 :(得分:0)
我通过在程序中对我的bat文件代码进行硬编码来解决了这个问题。我还必须指定工作目录:
process1.EnableRaisingEvents = false;
//Process p ;
process1.StartInfo.UseShellExecute = false ;
string str = "my parameters";
process1.StartInfo.WorkingDirectory = @"C:\kesara";
//System.Diagnostics.Process.Start(batfilepath,);
process1.StartInfo.FileName = @"C:/j2sdk1.4.2_08/bin/java.exe";
process1.StartInfo.Arguments = str;
process1.Start();
process1.Close();