使用 ANT 构建 eclipse 项目 - 找不到主要 class
Building eclipse project with ANT - can't find main class
用 ant 构建 eclipse 项目 - 找不到主要的 class
我正在尝试使用 ANT 将我的 eclipse 项目构建到 .jar 中。
我的目录结构是:
/
|---src/DynamDNS/.java 文件和 build.xml
| ---bin/DynamDNS/.class 来自 eclipse 的文件
| ---lib/.jars 包含在 class 路径
中
这是我的 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。然而,当我 运行 罐子时:
java-罐子DynamDNS.jar
我收到错误:
错误:无法找到或加载主 class DynamDNS.Connector
我的 class 名字绝对拼写正确。
此外,classes 似乎在罐子里:
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
有人有什么想法吗?
如果您的 main-class 是 DynamDNS.Connector,这意味着连接器 class 在 DynamDNS 包中,因此应该在 jar 内的 DynamDNS 文件夹中,而您的看起来在罐子的顶层。
我认为问题出在您的 ant 文件中的 jar 任务。删除包含并使用您的 bin 文件夹作为 basedir:
<jar jarfile="DynamDNS.jar" basedir="bin">
<manifest>
<attribute name="Main-Class" value="DynamDNS.Connector" />
</manifest>
</jar>
用 ant 构建 eclipse 项目 - 找不到主要的 class
我正在尝试使用 ANT 将我的 eclipse 项目构建到 .jar 中。
我的目录结构是:
/
|---src/DynamDNS/.java 文件和 build.xml
| ---bin/DynamDNS/.class 来自 eclipse 的文件
| ---lib/.jars 包含在 class 路径
中这是我的 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。然而,当我 运行 罐子时: java-罐子DynamDNS.jar
我收到错误: 错误:无法找到或加载主 class DynamDNS.Connector
我的 class 名字绝对拼写正确。
此外,classes 似乎在罐子里:
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
有人有什么想法吗?
如果您的 main-class 是 DynamDNS.Connector,这意味着连接器 class 在 DynamDNS 包中,因此应该在 jar 内的 DynamDNS 文件夹中,而您的看起来在罐子的顶层。
我认为问题出在您的 ant 文件中的 jar 任务。删除包含并使用您的 bin 文件夹作为 basedir:
<jar jarfile="DynamDNS.jar" basedir="bin">
<manifest>
<attribute name="Main-Class" value="DynamDNS.Connector" />
</manifest>
</jar>