无法加载或找到主类

时间:2013-11-10 02:59:34

标签: java ant

我正在尝试使用ant来构建我的jar及其所有依赖项,但是当我尝试使用Error: Could not find or load main class main.SteamduckBot命令运行jar时,继续获取java -jar ircbot.jar

这是我的build.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project name="ircbot" default="jar">

    <!-- Name of the output .jar file -->
    <property name="jar.name" value="ircbot.jar" />

    <!-- Base directory for distribution target -->
    <property name="deploy.home" value="." />

    <!-- Base directory for compilation targets -->
    <property name="build.home" value="." />

    <!-- Main class -->
    <property name="main.class" value="main.SteamduckBot" />

    <!-- The base directory for all libraries (jar) files -->
    <property name="lib.home" value="lib" />

    <target name="jar" description="Create jar and MANIFEST.MF">

        <pathconvert property="libs.project" pathsep=" ">
            <mapper>
                <chainedmapper>
                    <!-- remove absolute path -->
                    <flattenmapper />

                    <!-- add lib/ prefix -->
                    <globmapper from="*" to="lib/*" />
                </chainedmapper>
            </mapper>
            <path>
                <!-- lib.home contains all jar files,
                                                in several subdirectories -->
                <fileset dir="${lib.home}">
                    <include name="**/*.jar" />
                </fileset>
            </path>

        </pathconvert>

        <!-- create the jar -->
        <jar jarfile="${deploy.home}/${jar.name}" basedir="${build.home}">

            <manifest>
                <attribute name="Built-By" value="${user.name}" />
                <attribute name="Main-Class" value="${main.class}" />

                <!-- Finally, use the generated libs path -->
                <attribute name="Class-Path" value="${libs.project}" />
            </manifest>

        </jar>
    </target>

</project>  

Ant构建得很好,但显然我一定做错了什么 - 我的错误在哪里?

这是我项目的结构: enter image description here

以下是生成的jar的内容:这是jar的内容:http://pastebin.com/iYQGsutE

1 个答案:

答案 0 :(得分:0)

我没有在您的构建文件中看到您将Java文件编译为.class文件以及在jar中包含这些.class文件的位置。看起来你要将源文件存储在jar中,而不是类文件中。

检查罐子的内容。