"no main manifest attribute"

Hallo, ich arbeite an einem Projekt, wo mir gesagt wurde, erstellen Sie das ant-target dist erzeugt JAR-Datei und jrun Ziel, das hängt davon ab, dist ant-target laufen soll, dist erzeugt jar-Datei. Während ant jrun, bekomme ich die folgende Fehlermeldung : jrun
[java]: no main manifest attribute in *\build\jar\navus.jar

 <?xml version="1.0" encoding="UTF-8"?>

<project name="POS" default="build" basedir=".">

<!-- Project properties-->

<property name="src.dir" value="${basedir}/src"/>
<property name="build.dir" value="${basedir}/build"/>
<property name="classes.dir" value="${build.dir}/classes"/>
<property name="lib.dir" value="${basedir}/lib"/>
<property name="jar.dir" value="${build.dir}/jar"/>
<property name="main.class" value="ee.ut.math.tvt.navus.Intro"/>

<!-- Different classpaths form compiling and running-->

<path id="compile.classpath">
        <fileset dir="${lib.dir}">
            <include name="**/*.jar"/>
        </fileset>
</path>

    <path id="run.classpath">
            <pathelement location="${classes.dir}"/>
            <path refid="compile.classpath"/>
        </path>


<!-- Clean existing build-->
<target name="clean">
    <delete dir="${build.dir}" />


</target>



<!-- Builds Java code-->

<target name="build" depends="clean">
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${classes.dir}"/>
    <copy file="${src.dir}/log4j.properties" todir="${classes.dir}" overwrite="true" />

    <javac 
        srcdir="${src.dir}" 
        destdir="${classes.dir}">
        <classpath refid="compile.classpath"/>
    </javac>
</target>

<!-- Creates jar file-->

<target name="dist" depends="build"> 
    <mkdir dir="${jar.dir}"/>
    <propertyfile file="version.properties">
        <entry key="build.revision.number" type="int" default="0" operation="+"/>
    </propertyfile>

    <jar jarfile="${build.dir}/jar/navus.jar"
         basedir="${build.dir}/classes">
        <manifest>
            <attribute name="mainClass" value="${main.class}"/>         
        </manifest>
        <fileset dir="${basedir}" includes="${src.dir}"/>

        </jar>
</target> 

<!-- Executes application via class Intro-->


    <target name="run"  depends="build"
    description="runs introUI via Intro" >
      <java classname="${main.class}"

        classpathref="run.classpath"
        fork="yes">

      </java>
    </target>


<!-- Runs application using JAR file-->

<target name="jrun" depends="dist"
    description=" Run JAR file">
    <java jar="${jar.dir}/navus.jar" 
    fork="yes"/>

</target>


</project>
Das manifest.mf-Datei enthält die Klasse mit der main-Methode, die Sie verwenden, um die Anwendung zu starten. Das ist also erforderlich, die in der build-Datei - in maven das ist <Eigenschaften> <start-Klasse>app.Anwendung</start-Klasse> < Eigenschaften>. Ant wird etwas ähnliches
ich bekomme die Idee, aber wissen nicht wie Sie diese umsetzen ant

InformationsquelleAutor Ollikas | 2014-10-13

Schreibe einen Kommentar