首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jar找不到主类

Jar找不到主类
EN

Stack Overflow用户
提问于 2011-06-23 20:11:34
回答 4查看 3.1K关注 0票数 2

我得到:Could not find the main class: org.dav.kin.Tester. Program will exit.当我试图通过java -jar tester.jar java -classpath tester.jar org.dav.kin.Tester运行jar文件时,有谁知道出了什么问题以及如何修复吗?下面是更多的细节。谢谢。

报表文件:

代码语言:javascript
复制
Manifest-Version: 1.0
Created-By: DKin
Class-Path: .
Main-Class: org.dav.kin.Tester

jar tf tester.jar

代码语言:javascript
复制
org/
org/dav/
org/dav/kin/
org/dav/kin/Tester.class
org/dav/kin/TesterCellRenderer.class
...
...
META-INF/
META-INF/MANIFEST.MF

更新:

如果我指定包含groovy-all-{version}.jar的系统类路径,Jar文件就会运行,就像这样:java -classpath tester.jar;"%CLASSPATH%" org.dav.kin.Tester任何人都知道为什么我必须显式地重新声明类路径(或者更准确地说,是groovy )?

EN

回答 4

Stack Overflow用户

发布于 2011-06-23 20:20:07

您的jar文件缺少一个具有此名称的文件。

代码语言:javascript
复制
/org/dav/kin/Tester.class

或者您的MANIFEST.MF文件中有特殊字符。

MANIFEST.MF文件具有特定的语法。最好使用其他工具来生成它们;但是,我遇到的一些细节提高了手写文件的成功程度,包括:

systems.

  • Verify

  • 总是确保行长度小于72个字符。

  • 总是使用\r\n (windows换行符),即使在非windows

  • 中,所有空格字符都是空格。

  • 验证没有不可打印的字符(htab,etc).

  • Sometimes文件末尾的空行)。
票数 0
EN

Stack Overflow用户

发布于 2011-06-23 21:21:23

Tester.class的包声明是org.dav.kin吗?

票数 0
EN

Stack Overflow用户

发布于 2011-06-24 00:19:19

您已经表明您正在使用Groovy。Groovy确实可以编译成Java类文件,但它仍然需要groovy运行时库。您需要确保groovy在类路径以及类中。试试这个:

代码语言:javascript
复制
java -classpath tester.jar;groovy-all-1.8.0.jar org.dav.kin.Tester
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6460025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档