以编程方式将命令行参数传递给java windows服务

以编程方式将命令行参数传递给java windows服务,java,windows,service,processbuilder,Java,Windows,Service,Processbuilder,我有一个带有main方法的java类。我使用来自tanuki软件的Java服务包装器将其转换为windows服务。然后,我尝试使用ProcessBuilder从另一个java程序以编程方式启动该服务 ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe", "/c", "sc", "start", serviceName,mainMethodArgument); Process process=processBuilde

我有一个带有main方法的java类。我使用来自tanuki软件的Java服务包装器将其转换为windows服务。然后,我尝试使用ProcessBuilder从另一个java程序以编程方式启动该服务

ProcessBuilder processBuilder = new ProcessBuilder("cmd.exe", "/c", "sc",     "start", serviceName,mainMethodArgument);

Process process=processBuilder.start();

服务开始得很好。但是我传递的命令行参数(mainMethodArgument)没有到达服务main方法。我做错了什么?我只需要发送一个启动参数。但它仍然无法通过

我认为您无法将参数动态地传递给服务。检查此链接。可能您可以将参数写入一个可以在wrapper.conf文件中配置的文件,然后根据tanuki的实现读取startstop或main中的内容

什么是
mainMethodArgument
?你能粘贴它的值吗?@Tunaki:mainMethodArgument可以是任何东西。例如:我用“废话”测试。然后,在service main方法中,我尝试将其作为args[0],但无论如何,这不是重复的,我猜您不知道或不知道启动windows服务和运行exe的区别