运行Jar文件时出现问题

我已经将一个java项目编译成一个Jar文件,并且在运行它时遇到了问题。

当我跑:

java -jar myJar.jar 

我收到以下错误

 Could not find the main class: myClass 

类文件不在jar的根目录中,所以我尝试更改主类的路径以匹配类文件的路径,我得到了同样的问题。

我应该扁平化文件结构吗? 如果是这样我该怎么做 如果有任何用途,我正在使用Ant来构建Jar文件。

UPDATE

这是jar和相关Ant部分的内容,我已将我工作的公司的名称更改为“org”:

 META-INF/ META-INF/MANIFEST.MF dataAccessLayer/ dataAccessLayer/databaseTest.class org/ org/eventService/ org/eventService/DatabaseObject.class org/eventService/DatabaseObjectFactory.class org/eventService/DbEventClientImpl$HearBeatMonitor.class org/eventService/DbEventClientImpl.class org/eventService/EmptyQueryListException.class org/eventService/EventHandlerWorkItem.class org/eventService/EventProcessor.class org/eventService/EventTypeEnum.class org/eventService/EventWorkQueue$MonitorThread.class org/eventService/EventWorkQueue$PoolWorker.class org/eventService/EventWorkQueue.class org/eventService/FailedToLoadDriverException.class org/eventService/IConnectionFailureListener.class org/eventService/InvalidEventTypeException.class org/eventService/JdbcInterfaceConnection.class org/eventService/NullArgumentException.class org/eventService/OracleDatabaseObject.class org/eventService/ProactiveClientEventLogger.class org/eventService/ProactiveClientEventLoggerException.class org/eventService/PropertyMap.class org/eventService/SQLServerDatabaseObject.class org/eventService/TestHarness.class org/eventService/Utilities.class 

而ant目标:

            

在清单文件中,确保将Main-Class属性设置为包含main()方法的类的名称。 例如,如果类的包限定名称是my.cool.Class ,则在JAR清单中, Main-Class应设置为my.cool.Class

还要确保在.java文件中有一个包声明(例如,在Class.java ,确保你有正确的package my.cool;声明)。 另外,请确保您的目录层次结构设置正确( my.cool.Class应该在$SRC/my/cool/Class.java )。

您应该在jar创建期间使用完整路径指定主类,例如: