使用ant构建eclipse项目 - 找不到主类
我正在尝试使用ANT将我的eclipse项目构建为.jar。
我的目录结构是:
/
| --- src / DynamDNS / .java文件和build.xml
| ---来自eclipse的bin / DynamDNS / .class文件
| --- lib / .jars包含在类路径
中这是我的build.xml:
<?xml version="1.0" ?>
<project name="TestMain" default="CreateJar">
<target name="CreateJar" description="Create Jar file">
<jar jarfile="DynamDNS.jar" basedir="." includes="**/.class">
<manifest>
<attribute name="Main-Class" value="DynamDNS.Connector" />
</manifest>
</jar>
</target>
</project>
正确构建,并生成一个jar。但是当我运行jar时: java -jar DynamDNS.jar
我收到错误: 错误:无法找到或加载主类DynamDNS.Connector
我肯定正确地拼写了我的类名。
此外,这些类似乎在jar中:
jar tvf DynamDNS.jar
0 Tue Apr 21 17:11:26 IST 2015 META-INF/
135 Tue Apr 21 17:11:24 IST 2015 META-INF/MANIFEST.MF
5947 Mon Apr 20 21:07:58 IST 2015 Connector.class
979 Mon Apr 20 20:40:44 IST 2015 IPV4.class
370 Mon Apr 20 20:40:44 IST 2015 InvalidIPV4Exception.class
包名称为DynamDNS
有没有人有任何想法?
答案 0 :(得分:2)
如果您的主类是DynamDNS.Connector,则意味着Connector类位于包DynamDNS中,因此应该位于jar内的DynamDNS文件夹中,而您看起来位于jar的顶层。 / p>
我认为问题在于您的ant文件中的jar任务。删除包含并使用bin文件夹作为basedir:
<jar jarfile="DynamDNS.jar" basedir="bin">
<manifest>
<attribute name="Main-Class" value="DynamDNS.Connector" />
</manifest>
</jar>