这是一个典型的错误消息,但没有搜索结果可以帮助我。我正在尝试构建&运行某人编码的java工具。JAR:找不到主类
我得到以下错误:
Could not find the main class: ConnJKSEngine. Program will exit.
这里是我的清单:
Main-Class: ConnJKSEngine
我也改变了这
Main-Class: ConnJKSEngine.ConnJKSEngine
和
Main-Class: ConnJKSEngine/ConnJKSEngine
(它在最后有一个换行符)。没有任何区别
我这是怎么建的jar:
javac -cp ConnJKSEngine/ ConnJKSEngine/ConnJKSEngine.java
jar -cvfm ConnJKSEngine.jar ConnJKSEngine/ConnJKSEngineManifest ConnJKSEngine/*.class
chmod +x ConnJKSEngine.jar
这是我尝试运行jar(试过所有的人):
java ConnJKSEngine.jar
java -jar ConnJKSEngine.jar
java -cp ConnJKSEngine.jar ConnJKSEngine
这是由jar -tf ConnJKSEngine.jar
META-INF/
META-INF/MANIFEST.MF
ConnJKSEngine/ConnJKSEngine.class
ConnJKSEngine/ConnJKSEngine_GenKey.class
ConnJKSEngine/ConnJKSEngine_GetPubKey.class
ConnJKSEngine/ConnJKSEngine_Operation.class
ConnJKSEngine/ConnJKSEngine_PrivDec.class
ConnJKSEngine/ConnJKSEngine_Sign.class
给出表的内容我已经改变为ConnJKSEngine
目录并执行java ConnJKSEngine
,它可以正确打印使用信息。这使我确信主类存在并且可以被执行。所以建造这个罐子一定是错的,对吧?
因此,我继续解压缩jar到不同的目录(unzip ConnJKSEngine.zip
),并得到了上面显示的目录结构。如果我进入ConnJKSEngine
目录并执行java ConnJKSEngine
,它会正确执行。
在这里,我卡住了:类在那里,它在子目录中,它可以被执行。清单似乎是正确的。由于我不是一名Java程序员,我现在来到这里。任何想法可能会发生什么? (注:Linux系统)
编辑源可以在这里找到:https://github.com/Javex/JKSEngine
您是否试图联系该软件的编码器或生产者或当前支持该代码的任何实体? –
给你有来源? – Toilal
是的,但他现在没有时间研究这个问题,也不知道他的头顶。 – javex