вызов файла класса java через службу windows в .net - PullRequest
0 голосов
/ 23 декабря 2010

Я создал службу Windows из C # для вызова файла класса Java. Я использовал файл Bat, чтобы вызвать этот файл Java в C #. Задача Java-класса - создать выходной файл. но, когда указано, выходной файл службы не был создан. Java-класс прекрасно работает без обслуживания, когда он вызывается из файла bat. (но может диспетчер задач показывает экземпляры командной строки.)

Можно ли вызвать Java-класс через bat-файл в сервисе windws?

Ответы [ 3 ]

0 голосов
/ 23 декабря 2010

Это довольно долгий путь, но вы можете использовать что-то вроде iKVM для вызова класса Java напрямую из .NET.

0 голосов
/ 23 декабря 2010

Я решил проблему путем жесткого кодирования кода моего 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();
0 голосов
/ 23 декабря 2010

Я полагаю, что проблема, вероятно, будет связана с разрешениями пользователя - служба windows обычно работает под управлением сетевой службы, которая может не иметь разрешения на запись файла во многих местах.Поэтому я предлагаю вам попробовать записать файл в месте, где у каждого пользователя есть права на запись (или повозиться с разрешениями на папки, где вы хотите записать файл).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...