简体   繁体   中英

Running java classes with ant

I am trying to run my java program using ant. The compile and jar part work perfectly fine. But when u try to run my created Jar, it shows me

Error: Could not find or load main class com.twu.biblioteca.Application.

Cannot seem to figure out the problem

<target name="clean">
    <delete dir="build"/>
</target>

<target name="compile">
    <mkdir dir="build/classes"/>
    <javac srcdir="." destdir="build/classes"/>
</target>

<target name="jar">
    <mkdir dir="build/jar"/>
    <jar destfile="build/jar/Application.jar" basedir="build/classes/com/twu/biblioteca/">
        <manifest>
            <attribute name="Main-Class" value="com.twu.biblioteca.Application"/>
        </manifest>
    </jar>
</target>

<target name="run">
    <java jar="build/jar/Application.jar" fork="true"/>
</target>

The problem is your jar task. From the documentation , basedir corresponds to:

the directory from which to jar the files.

As such, it needs to be

<jar destfile="build/jar/Application.jar" basedir="build/classes">
   <!-- ... -->
</jar>

With your configuration, you are making a JAR of only the biblioteca folder, therefore, it doesn't match anymore the package declaration that contains com.twu.biblioteca .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM