2012-10-30 2 views
0

내 java 프로젝트를위한 NSIS 스크립트를 만들었습니다. 내 eclipse.using 플러그인에 nsis 플러그인을 설치했습니다. nsi file.Now를 작성했습니다. nsi 파일을 컴파일하려고합니다. Eclipse에서 Ant를 사용하려고합니다.개미를 사용하여 NSIS 스크립트를 컴파일하는 방법은 무엇입니까?

<?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. 

왜 이런 일이 발생하는지 알고 싶습니까? 개미를 사용하여 nsi 파일을 컴파일하는 방법은 무엇입니까? 또는 개미를 사용하지 않고 컴파일 할 수있는 다른 방법이 있습니까?

답변

2

로 사용하지만, 아마 가장 간단 할 수 있습니다. 두 번째 질문에 대해서는

<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> 

을 : 난 그냥 같은 구문을 사용하여 makensis.exe 실행 그래, 당신은 개미없이 NSIS 스크립트를 컴파일 할 수 있습니다. 예를 들면 다음과 같습니다.

Linux에있는 사용자는 makensis 어딘가에 있어야합니다.

PROJECT_NAME 물건은 내 사용자 정의입니다. 가장 간단한 경우에는 정의를 제공하지 않고 해당 부분을 생략합니다.

+0

감사합니다. makensis.exe 파일을 받고 있습니까? Google에서 검색하지 못했습니다. 다운로드 파일입니까? 어떤 링크를 제공하거나 makensis.exe 사용 방법을 알려주실 수 있습니까? – Ami

+0

[NSIS homepage] (http://nsis.sourceforge.net)로 이동하여 다운로드를 클릭하십시오. – Jarekczek

+0

Thankss.i가 다운로드되었습니다. 위의 Windows 및 Linux 작업용 스크립트는 무엇입니까? 리눅스에서만? – Ami

1

Nsis Ant Sourceforge project에서 NSIS Ant Task를 사용합니까? 설치 후에는 전용 nsis 작업이 가장 좋은 방법이 될 것으로 보인다 사용

<taskdef name="nsis" classname="net.sf.nsisant.Task"> 
    <classpath location="nsisant-{version}.jar"> 
</taskdef> 
+0

"한 번 설치되었습니다."는 무엇입니까? 지금은 nsis 스크립트 만 있습니다. 어떻게 설치할 수 있습니까 ?? 개미를 통해 내가 설치하려고 할 때 스크립트를 컴파일하고 싶습니다. 명확하게 말해주십시오. – Ami

+0

Installed = nsisant jar 파일은 클래스 경로 어딘가에 있어야합니다. – Seki

+0

감사합니다. makensis.exe 파일이 필요한지 여부에 관계없이이 스크립트를 실행하면 어떻게됩니까? 그 다음에 필요한 경우 makensis.exe 파일을 어떻게 얻을 수 있습니까? – Ami

관련 문제