NetBeans:运行Target以执行外部bat文件

时间:2013-07-16 16:07:53

标签: netbeans batch-file build target

我有一个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中)并给它主题(我在导演中的文件夹名称)作为参数我猜。它可以独立运行,但不能从NetBeans中的Run Target运行。

1 个答案:

答案 0 :(得分: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>