2013-02-08 3 views
1

그것은 자바로 전부 2000 년 에서 오래된 스크립트 내 손에있어 그리고 모든 컴파일 빌드 파일이 :Ant 빌드가 jar 파일을하지 않습니다

<?xml version="1.0"?> 
    <project name="chat" default="compile" basedir="."> 
     <target name="init"> 
      <property name="conf.dir" value="conf" /> 
      <property name="src.dir" value="src" /> 
      <property name="resource.dir" value="resource" /> 
      <property name="build.dir" value="build" />  
      <property name="release.dir" value="release" /> 
      <property name="etc.dir" value="etc" /> 
      <property name="lib.dir" value="lib" /> 
     </target> 



     <target name="clean" depends="init"> 
      <delete dir="${build.dir}" />  
      <delete dir="${release.dir}" /> 
     </target> 

     <target name="compile" depends="init"> 
      <mkdir dir="${build.dir}" /> 
      <javac srcdir="${src.dir}" destdir="${build.dir}" includeAntRuntime="false" debug="true" optimize="false" />   
     </target> 

     <target name="release" depends="compile">  
      <mkdir dir="${release.dir}" /> 

      <jar destfile="${release.dir}/chat_service.jar" basedir="${build.dir}" includeantruntime="false" />   
     </target> 

    </project> 

내가 그것을 실행하는 경우는 개미 Windows에서 명령 프롬프트라고 :

Buildfile: build.xml 

init: 

compile: BUILD SUCCESSFUL 

하지만 jar 파일을 만들지 않습니다. 정확한 프로젝트를 복사하여 클래스 파일로 컴파일하는 것뿐입니다.

내가 올바른 파일을 만드는 방법을 아는 사람이 있습니까? 채팅 서버이며 클라이언트를 실행하려면 채팅 서버가 필요합니다.

답변

4

빌드 파일의 기본 목표는 compile입니다 : 당신이 대상을 지정하지 않고 개미를 호출 할 경우 그래서, compile 대상이 실행됩니다

<project name="chat" default="compile" basedir="."> 

. release 목표를 실행하려면, 당신은 jar 파일을 생성하기위한 또 다른 목표 섹션을 추가해야

ant release 
-1

를 사용합니다. 예를 들어 : 마지막에

<target name="jar" depends="compile"> 
    <mkdir dir="${jar.dir}" /> 
    <jar destfile="${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}"> 
     <manifest> 
      <attribute name="Main-Class" value="${main-class}" /> 
      <attribute name="Class-Path" value="config/ properties/ ${manifest.classpath}" /> 
     </manifest> 
    </jar> 

</target> 

은, 물론 당신은 당신의 자신의 파일 속성에 대한 그 블록을 구성해야합니다.

+0

이미 jar 작업이있는 대상이 있기 때문에 추가 대상을 추가 할 필요가 없습니다. 실행/사용 (개미 릴리스) 만하면됩니다. – stan0

관련 문제