&引用;找不到主类“;在Java Salesforce应用程序中
我一直在Eclipse中构建一个应用程序,它从salesforce提取数据,并使用导入的CSV文件更新和插入记录。它在Eclipse中运行良好,我很高兴它已经准备好进行部署,但是如果我尝试从cmd运行它或双击Jar,我就无法让应用程序工作。我得到这个错误:&引用;找不到主类“;在Java Salesforce应用程序中,java,eclipse,salesforce,classnotfoundexception,Java,Eclipse,Salesforce,Classnotfoundexception,我一直在Eclipse中构建一个应用程序,它从salesforce提取数据,并使用导入的CSV文件更新和插入记录。它在Eclipse中运行良好,我很高兴它已经准备好进行部署,但是如果我尝试从cmd运行它或双击Jar,我就无法让应用程序工作。我得到这个错误: Exception in thread "main" java.lang.NoClassDefFoundError: uploader/jar Caused by: java.lang.ClassNotFoundException: uplo
Exception in thread "main" java.lang.NoClassDefFoundError: uploader/jar
Caused by: java.lang.ClassNotFoundException: uploader.jar
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: uploader.jar. Program will exit.
我已经在谷歌搜索过了,尝试过了所有的解决方案,但找不到为什么它不起作用。下面是我用来构建jar并运行它的步骤,如果有人能告诉我哪里出了问题,我会很高兴!我不是java程序员
顺便说一下,这个项目和包一样被称为uploader
Manifest-Version: 1.0
Main-Class: uploader.Main
所以在我看来这是正确的
但是,如果我打开一个命令提示符,将cd转到包含jar文件的目录,然后说javauploader.jar,那么我就会得到上面的错误
有人能看到任何看起来不对劲的东西吗?我过不了这一关
如果使用java-jar uploader.jar运行,则会出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sforce/ws/ConnectionException
Caused by: java.lang.ClassNotFoundException: com.sforce.ws.ConnectionException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: uploader.Main. Program will exit.
也许这有助于找出问题所在
*编辑*
我已将manifest.mf文件编辑为此,但仍会收到错误:
Manifest-Version: 1.0
Main-Class: uploader.Main
Class-Path: lib/enterprise.jar lib/wsc-22.jar
问题似乎是缺少类路径设置,即添加所需的类和库的定义。在您的例子中,似乎至少需要向类路径添加一些salesforce jar
将类路径放入清单文件或将其添加到命令行:
java-cp-jar uploader.jar
在命令行上,它将不是java uploader.jar
,而是java-jar uploader.jar
。感谢您的回复@Thomas,请查看我编辑的问题以获得回复。@StevenHayhurst,.classpath
文件用于Eclipse。命令行Java甚至不知道这个文件存在。我不知道,所以谢谢。我已经更改了清单文件,但仍然收到错误。检查问题以了解我的答案file@StevenHayhurst我假设lib
文件夹就在uploader.jar
的旁边,您正在从这两个文件夹执行命令行,对吗?我进一步假设您确信所讨论的类包含在这些jar中。没错。lib文件夹和uploader.jar位于同一个“uploader”目录中,如果我在winRAR中打开lib/wsc-22.jar,我可以看到com/sforce/ws/ConnectionException.java确实存在。我将命令行cd刻录到“uploader”目录,并从那里执行。感谢您的持续帮助@Thomas!