我已经对此进行了大量搜索,并且有很多对长CLASSPATHS
和命令行字符串长度限制的引用 - see here和here - - 但这些都很老了,似乎与我的问题无关。
正在生成的进程只有200个字符,包括所有参数。
堆栈跟踪:
java.io.IOException: Cannot run program ""C:\Users\Dan\workspace\CCTV Simulator\bin\swri\sim\cctv\stream\bin\ffmpeg.exe" -r 10 -vcodec bmp -f image2pipe -i - -r 10 -vcodec mpeg4 -f mpegts udp://127.0.0.1:12345": CreateProcess error=87, The parameter is incorrect
at java.lang.ProcessBuilder.start(Unknown Source)
at swri.sim.cctv.stream.MpegStream.initProc(MpegStream.java:52)
at swri.sim.cctv.stream.MpegStream.<init>(MpegStream.java:32)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
...
直接运行完全相同的命令可以正常工作。我不知所措。
编辑:我正在运行Eclipse Luna(4.4.0)和JDK 1.7。