0
我試圖用ant來構建我的jar及其所有依賴項,但當我嘗試運行帶有java -jar ircbot.jar
命令的jar時,仍然收到Error: Could not find or load main class main.SteamduckBot
。未能加載或找到主類
這是我的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的內容:http://pastebin.com/iYQGsutE
這是罐子的內容:http://pastebin.com/iYQGsutE – CodePrimate
所以你證實了我的想法。你用源文件創建了一個jar,而不是編譯的類文件。您的構建文件必須先編譯源文件,然後創建一個包含已編譯的類文件的jar。沒有.java文件應該在jar中。 –
有什麼機會可以告訴我如何做到這一點? – CodePrimate