2012-01-02 3 views
0

프로젝트를 이렇게 설정했습니다.내 Java 프로젝트의 Ant 빌드 용 build.xml 작성에 도움이 필요합니다.

Project 
    -src 
     -com 
      -top 
       -classes 
        Class_3.java 
        Class_4.java 
       -utils 
        Class_5.java 
        Class_6.java 
       Class_1.java 
       Class_2.java 
    -data 
     various files 
    -libs 
     lib_1.jar 
     lib_2.jar 
     lib_3.jar 
     lib_4.jar 
    build.xml 

class_1.java 메인 클래스를 포함, libs와 외부 종속성을 포함, 데이터는 다양한 이미지, 텍스트 파일 등 ... 포함 난 배포 JAR를 만들기 위해 Ant 빌드 파일을 작성하는 것을 시도하고있다

파일은 필요하지만 모든 필요한 라이브러리 등을 꺼내는 데 어려움을 겪고 있습니다 ...

이것은 내가있는 곳입니다.

<?xml version="1.0"?> 
<project name="Project" default="jar"> 

    <property name="libsSrc" value="libs"/> 
    <property name="build" value="build"/> 
    <property name="classes" value="build/classes"/> 
    <property name="jar" value="build/jar"/> 
    <property name="libs" value="build/libs"/> 

    <path id="classpath"> 
      <fileset dir="${libsSrc}" includes="*.jar"/> 
    </path> 

    <target name="clean" description="remove intermediate files"> 
     <delete dir="build"/> 
    </target> 

    <target name="compile" description="compile the Java source code to class files"> 
     <mkdir dir="${classes}"/> 
     <javac srcdir="." destdir="${classes}" classpathref="classpath"> 
      <compilerarg line="-encoding utf-8"/> 
     </javac> 
    </target> 

    <target name="jar" depends="compile" description="create a Jar file for the application"> 
     <mkdir dir="${jar}"/> 
     <jar destfile="${jar}/App.jar"> 
      <fileset dir="${classes}" includes="**/*.class"/> 
      <manifest> 
       <attribute name="Main-Class" value="com.top.Class_1"/> 
      </manifest> 
     </jar> 
    </target> 

</project> 

이것은 현재 작동하지 않습니다.

오류없이 컴파일되지만 필요한 종속성을 포함하지 않으며 JAR이 주 클래스를 찾을 수 없습니다. 어떻게 해결할 수 있습니까?

+0

무엇이 질문입니까? –

+0

귀하가 질문에 대한 답을 편집하는 경우 답변으로 게시하십시오 (나중에 수락 할 수 있음). 그러나 실제로는 실질적인 질문이 없으며이 모든 것을 삭제할 수도 있습니다. – oers

+0

사과와 관련된 모든 의견. – Neilos

답변

0
<?xml version="1.0"?> 
<project name="Rutherford" default="jar"> 

    <property name="libsSrc" value="libs"/> 
    <property name="build" value="build"/> 
    <property name="classes" value="build/classes"/> 
    <property name="jar" value="build/jar"/> 
    <property name="libs" value="build/libs"/> 

    <path id="classpath"> 
      <fileset dir="${libsSrc}" includes="*.jar"/> 
    </path> 

    <pathconvert property="mf.classpath" pathsep=" "> 
      <path refid="classpath"/> 
      <mapper> 
        <chainedmapper> 
          <flattenmapper/> 
          <globmapper from="*.jar" to="lib/*.jar"/> 
        </chainedmapper> 
      </mapper> 
    </pathconvert> 

    <target name="clean" description="remove intermediate files"> 
     <delete dir="build"/> 
    </target> 

    <target name="compile" description="compile the Java source code to class files"> 
     <mkdir dir="${classes}"/> 
     <javac srcdir="." destdir="${classes}" classpathref="classpath"> 
      <compilerarg line="-encoding utf-8"/> 
     </javac> 
    </target> 

    <target name="jar" depends="compile" description="create a Jar file for the application"> 
     <mkdir dir="${jar}"/> 
     <jar destfile="${jar}/App.jar"> 
      <zipgroupfileset dir="${libsSrc}" includes="*.jar"/> 
      <fileset dir="${classes}" includes="**/*.class"/> 
      <manifest> 
       <attribute name="Main-Class" value="com.top.Class_1"/> 
       <attribute name="Class-Path" value="${mf.classpath}"/> 
      </manifest> 
     </jar> 
    </target> 

</project> 

트릭을하는 것처럼 보입니다.

<compilerarg line="-encoding utf-8"/> 

내가 문자열로 읽고 제대로 표시되지 않는 것을 표시 UTF-8 인코딩 된 문자를 포함하는 몇 가지 텍스트 파일이, 아무것도하지 않는 것 같다; dσ/dΩ은 dα/dα로 나타난다. 나는 another question에서 그것을 묻습니다.

+0

질문을받지 못했습니다. 개미 작업을 할 수 있습니까 ??? "ant compile"을 실행하면 어떻게됩니까? –

+0

이 질문과 관련된 모든 문제가 실제로 해결되었으므로 원본 질문을 편집하여 좀 더 명확하게 만들었습니다. – Neilos

관련 문제