【发布时间】:2012-09-19 20:11:59
【问题描述】:
我的教授决定为这个作业提供一个包含主要方法的外部 jar,我们应该为后端编写代码。我把这个 jar 放到我的项目中并让它在 Eclipse 中运行没有问题,但是当我尝试导出一个可运行的 jar 时,我得到了这个错误:
“在给定的启动配置中找不到主要方法”
这似乎很荒谬,因为它肯定可以在我在 Eclipse 中运行它时找到主要方法,我错过了什么?我已经尝试打开 jar 以获取 Manifest.mf 文件并为其提供外部 jar 内部的 main 类的名称,但它仍然无法找到它。
我也将 jar 添加到项目构建路径和类路径中,但这似乎没有什么区别。
清单文件只是说:
Manifest-Version: 1.0
Class-Path: .
我认为这是错误的,但我该如何正确设置?
-- 编辑--
这是我构建时由 Eclipse 生成的 ANT 文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project default="create_run_jar" name="Create Runnable Jar for Project Lab 1">
<!--this file was created by Eclipse Runnable JAR Export Wizard-->
<!--ANT 1.7 is required -->
<target name="create_run_jar">
<jar destfile="C:/lab.jar" filesetmanifest="mergewithoutmain">
<manifest>
<attribute name="Main-Class" value="edu.wmich.cs1120.la1.solution_gui.MainWindow"/>
<attribute name="Class-Path" value="."/>
</manifest>
<zipfileset excludes="META-INF/*.SF" src="C:/LA1_GUI.jar"/>
<fileset dir="C:/bin"/>
</jar>
</target>
好的,我知道 Main-Class 属性需要设置什么,所以当我编辑 Manifest.mf 以反映它有效时!但我仍然感到困惑,尤其是以下几行:
filesetmanifest="mergewithoutmain"
zipfileset excludes
如果我为我的项目指定了 main,为什么要这样做?
【问题讨论】:
标签: java eclipse jar classpath external