我正在尝试使用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构建得很好,但显然我一定做错了什么 - 我的错误在哪里?
这是我项目的结构:
以下是生成的jar的内容:这是jar的内容:http://pastebin.com/iYQGsutE
答案 0 :(得分:0)
我没有在您的构建文件中看到您将Java文件编译为.class文件以及在jar中包含这些.class文件的位置。看起来你要将源文件存储在jar中,而不是类文件中。
检查罐子的内容。