我有一个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运行。
答案 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>