2013-07-16 38 views
0

我有一个JavaHelp项目,我有一个基本运行jhindexer(创建帮助索引)的bat文件。我想这样做,使我每次进行构建(运行>目标>其他目标>最终构建 - 它会运行预编译jhindexer蝙蝠。不幸的是我似乎无法得到它的工作。NetBeans:运行目标以执行外部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. 

我似乎无法找出一种方式来运行批处理文件...

编辑1:

这里是bat文件的内容:

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

它基本上也是从imagesir,Topics文件夹所在的文件夹开始的。然后我运行jhindexer(它位于basedir \ javahelp \ bin中),并将它作为我猜的参数给出主题(我在导演中的文件夹名称)。它可以独立运行,但不能从NetBeans中的运行目标运行。

+0

你能自己独立运行的批处理文件?如果这给bat文件发布错误。 – RGuggisberg

+0

@RGuggisberg我已经添加了bat文件的内容。它自己运行(创建一个包含所有索引的JavaHelpSearch文件夹) –

回答

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>