如何使用ant编译NSIS脚本?
我已经为我的java项目创建了NSIS脚本。我已经在eclipse中安装了NSIS插件。使用插件我已经创建了nsi文件。现在我想编译nsi文件。我已经尝试在eclipse中使用Ant如何使用ant编译NSIS脚本?,ant,nsis,Ant,Nsis,我已经为我的java项目创建了NSIS脚本。我已经在eclipse中安装了NSIS插件。使用插件我已经创建了nsi文件。现在我想编译nsi文件。我已经尝试在eclipse中使用Ant <?xml version="1.0" encoding="UTF-8"?> <project name="test" default="nsis" basedir="."> <property name="build.path" value="build"/>
<?xml version="1.0" encoding="UTF-8"?>
<project name="test" default="nsis" basedir=".">
<property name="build.path" value="build"/>
<property name="deploy.dir" value="/opt/test"></property>
<path id="library.classpath">
<fileset dir="lib">
<include name="nsisant-1.2.jar"/>
</fileset>
</path>
<target name="nsis" description="compile nsis script">
<mkdir dir="${build.path}/nsis"/>
<nsis script="setup.nsi">
<classpath refid="library.classpath"/>
</nsis>
</target>
</project>
但它抛出了以下错误
BUILD FAILED
build.xml:12: Problem: failed to create task or type nsis
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
生成失败
build.xml:12:问题:未能创建任务或类型nsis
原因:名称未定义。
措施:检查拼写。
操作:检查是否已声明任何自定义任务/类型。
措施:检查是否发生了任何/声明。
我不知道为什么会这样??如何使用ant编译nsi文件?或者有没有其他不使用ant的编译方法?您是否使用来自的NSIS ant任务?安装后,您可以将其用作
<taskdef name="nsis" classname="net.sf.nsisant.Task">
<classpath location="nsisant-{version}.jar">
</taskdef>
您是否使用来自的NSIS Ant任务?安装后,您可以将其用作
<taskdef name="nsis" classname="net.sf.nsisant.Task">
<classpath location="nsisant-{version}.jar">
</taskdef>
使用专用的
nsis
任务似乎是最好的方法,但可能不是最简单的方法。我只是使用以下语法执行makensis.exe
:
<exec executable="C:\Program_Files\NSIS\makensis.exe" failonerror="true" >
<!-- providing some nsis definitions -->
<arg value="/DPROJECT_NAME=${ant.project.name}"/>
<!-- passing the script -->
<arg value="${basedir}\raport.nsi"/>
</exec>
在Linux上,您还应该在某个地方拥有makensis
项目名称
是我的定制。在最简单的情况下,您不提供任何定义,省略该部分。使用专用的nsis
任务似乎是最好的方法,但可能不是最简单的方法。我只是使用以下语法执行makensis.exe
:
<exec executable="C:\Program_Files\NSIS\makensis.exe" failonerror="true" >
<!-- providing some nsis definitions -->
<arg value="/DPROJECT_NAME=${ant.project.name}"/>
<!-- passing the script -->
<arg value="${basedir}\raport.nsi"/>
</exec>
在Linux上,您还应该在某个地方拥有makensis
项目名称
是我的定制。在最简单的情况下,您不提供任何定义,省略了该部分。这“一旦安装”是什么意思。现在我只有nsis脚本。那么如何安装??通过ant,我想在安装后编译脚本。你能说清楚吗?Installed=nsisant jar文件必须在类路径中的某个位置谢谢。如果我运行此脚本,我是否需要makensis.exe文件?如果它是必需的,那么我如何才能获得makensis.exe文件?你对这个“一旦安装”是什么意思?现在我只有nsis脚本。那么我如何才能安装??通过ant,我想在安装后编译脚本。你能说清楚吗?Installed=nsisant jar文件必须在类路径中的某个位置谢谢。如果我运行此脚本,我是否需要makensis.exe文件?如果需要,那么如何获取makensis.exe文件?谢谢。我在哪里获取makensis.exe文件?我搜索过谷歌没能得到它。它是下载文件吗?你能给我提供任何链接或告诉我如何使用makensis.exe吗?谢谢。我已经下载了。在上面的脚本中,可以同时使用windows和linux吗?仅适用于linux?在linux上,您必须使用wine或自己构建它。请参阅以下问题:.failonerror=“true”此标记有何用途?你能告诉我吗?我很乐意帮你处理那些难找的东西。但我不会帮你看手册的。谷歌的“执行任务”。谢谢。我在哪里得到makensis.exe文件?我搜索过谷歌没能得到它。它是下载文件吗?你能给我提供任何链接或告诉我如何使用makensis.exe吗?谢谢。我已经下载了。在上面的脚本中,可以同时使用windows和linux吗?仅适用于linux?在linux上,您必须使用wine或自己构建它。请参阅以下问题:.failonerror=“true”此标记有何用途?你能告诉我吗?我很乐意帮你处理那些难找的东西。但我不会帮你看手册的。谷歌搜索“执行任务”。