-I标记JAVA命令@.bat CMAKE

-I标记JAVA命令@.bat CMAKE,java,windows,batch-file,cmake,Java,Windows,Batch File,Cmake,我必须从jar和idl文件中提取并生成一些.h文件 需要使用外部开发人员提供的.bat: @echo off java -jar C:\WorkspaceSwim\trunk\iB\build\BlueGen\target\bluegen.jar -o C:\WorkspaceSwim\trunk\Example\Distribution\build\GeneratedDDSFiles C:\WorkspaceSwim\trunk\

我必须从jar和idl文件中提取并生成一些.h文件

需要使用外部开发人员提供的.bat:

    @echo off
    java -jar C:\WorkspaceSwim\trunk\iB\build\BlueGen\target\bluegen.jar -o                 C:\WorkspaceSwim\trunk\Example\Distribution\build\GeneratedDDSFiles         C:\WorkspaceSwim\trunk\Example\Distribution\Flight.idl
    set NDDSHOME=C:\WorkspaceSwim\trunk\iB\build\ToolBox\NDDS 
    set RPCDDSHOME=C:\WorkspaceSwim\trunk\iB\build\ToolBox\RPCDDS 
    setlocal
    set dir=%~dp0
    set args=%1
    :getarg
    shift
    if "%~1"=="" goto continue
    set args=%args% %1
    goto getarg
    :continue
    set JREHOME=%JAVA_HOME%
    "%JREHOME%\bin\java" -DPATH="%PATH%" -DNDDSHOME="%NDDSHOME%" -DRPCDDSHOME="%RPCDDSHOME%" -Djava.ext.dirs="%RPCDDSHOME%\classes\" com.eprosima.rpcdds.idl.RPCDDSGEN %args% "-I%RPCDDSHOME% /idl"
我想剧本中有一些失败的地方,但我看不出来。也许报价有问题?我尝试了三种可能性:

"%JREHOME%\bin\java" -DPATH="%PATH%" -DNDDSHOME="%NDDSHOME%" -DRPCDDSHOME="%RPCDDSHOME%" -Djava.ext.dirs="%RPCDDSHOME%\classes\" com.eprosima.rpcdds.idl.RPCDDSGEN %args% "-I%RPCDDSHOME%\idl"
错误:未找到或加载主体类\idl

"%JREHOME%\bin\java" -DPATH="%PATH%" -DNDDSHOME="%NDDSHOME%" -DRPCDDSHOME="%RPCDDSHOME%" -Djava.ext.dirs="%RPCDDSHOME%\classes" com.eprosima.rpcdds.idl.RPCDDSGEN %args% "-I%RPCDDSHOME%\idl"
"%JREHOME%\bin\java" -DPATH="%PATH%" -DNDDSHOME="%NDDSHOME%" -DRPCDDSHOME="%RPCDDSHOME%" -Djava.ext.dirs="%RPCDDSHOME%\classes\  com.eprosima.rpcdds.idl.RPCDDSGEN %args%" -I "%RPCDDSHOME%\idl"
错误:未找到或加载principal类com.eprosima.rpcdds.idl.RPCDDSGEN

"%JREHOME%\bin\java" -DPATH="%PATH%" -DNDDSHOME="%NDDSHOME%" -DRPCDDSHOME="%RPCDDSHOME%" -Djava.ext.dirs="%RPCDDSHOME%\classes" com.eprosima.rpcdds.idl.RPCDDSGEN %args% "-I%RPCDDSHOME%\idl"
"%JREHOME%\bin\java" -DPATH="%PATH%" -DNDDSHOME="%NDDSHOME%" -DRPCDDSHOME="%RPCDDSHOME%" -Djava.ext.dirs="%RPCDDSHOME%\classes\  com.eprosima.rpcdds.idl.RPCDDSGEN %args%" -I "%RPCDDSHOME%\idl"
无法识别的选项:-I 错误:无法创建Java虚拟机。

以前我使用这个.cmake生成运行这个.bat的代码

add_custom_command(
    OUTPUT ${DDSGeneratedFiles}
    COMMAND java -jar ${iB_BlueGen} -o ${GeneratedDDSDirName} ${LocatedFile} 
    COMMAND "set NDDSHOME=${iMASBlue_NDDS_DIR} &" "set RPCDDSHOME=${iB_RPCDDS_DIR} &"    ${RPCDDSGenerator} -replace -d ${GeneratedDDSDirName} -I${CMAKE_CURRENT_SOURCE_DIR} ${LocatedFile}
    DEPENDS ${IncludeDependencies} 
    MAIN_DEPENDENCY ${LocatedFile}
    COMMENT "Calling RPCDDS Generator '${RPCDDSGenerator}' on '${IdlFile}'"
    )

谢谢您的回答。

要调试批处理文件,请更改行

 @echo off
在批处理文件中

 @echo on
然后再跑