0

我有一个 JavaHelp 项目,我有一个基本上运行 jhindexer 的 bat 文件(用于创建帮助索引)。

我想这样做,以便每次我进行构建(运行>目标>其他目标>最终构建 - 它会在预编译时运行 jhindexer bat。不幸的是我似乎无法让它工作。

这是我的 build.xml 位:

<target name="-pre-compile"> 
    <echo message="Creating index"/>
    <property name="createIndex" value="${basedir}\" />
    <echo>${createIndex}</echo>
   <!--<exec command="cmd /C createIndex.bat" />--> //Says its deprecated  
    <exec dir="${createIndex}" executable="createIndex.bat">
        <arg file="cmd createIndex.bat" />
    </exec>
</target> 

这段代码给了我:

Creating index
Y:\NetBeansProjects\JavaHelp\
Y:\NetBeansProjects\JavaHelp\build.xml:79: Execute failed: 
java.io.IOException: Cannot run program "\createIndex.bat" (in directory "Y:\NetBeansProjects\JavaHelp"): CreateProcess error=2, The system cannot find the file specified

如果我将其更改为:

   <exec command="cmd /C createIndex.bat" />

Creating index
Y:\NetBeansProjects\JavaHelp\
The command attribute is deprecated.
Please use the executable attribute and nested arg elements.

我似乎无法找到运行 bat 文件的方法...

编辑1:

这是bat文件的内容:

cd src\helpsetproject
..\..\javahelp\bin\jhindexer topics

它基本上也来自图像、主题文件夹所在的文件夹。然后我运行 jhindexer(位于 basedir\javahelp\bin 中)并将主题(我所在的director 中的文件夹名称)作为我猜的参数。它可以独立运行,但不能从 NetBeans 中的 Run Target 运行。

4

1 回答 1

1

尝试这个:

<target name="-pre-compile"> 
    <echo message="Creating index"/>
    <property name="createIndex" value="${basedir}\" />
    <echo>${createIndex}</echo>
    <exec dir="${createIndex}" executable="cmd">
        <arg line="/c createIndex.bat" />
    </exec>
</target> 
于 2014-03-01T00:39:42.870 回答