Я создавал приложение в Eclipse, которое извлекает данные из Salesforce и использует импортированный CSV-файл, обновляет и вставляет записи. Он хорошо работает в Eclipse, и я рад, что он готов к развертыванию, но я не могу заставить приложение работать, если я пытаюсь запустить его из cmd или дважды щелкнуть Jar. Я получаю эту ошибку:
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.
Я был во всем Google и пробовал каждое решение там, но не могу найти, почему оно не будет работать. Вот шаги, которые я использую, чтобы построить банку и запустить ее, пожалуйста, если кто-нибудь может показать мне, где я иду не так, я был бы рад! Я не программист Java ...
Проект называется Uploader как пакет, кстати
- Щелкните правой кнопкой мыши по проекту и выберите «Экспорт». Выберите «Jar file» и
Далее.
- Выберите мой проект в качестве ресурса и убедитесь, что .classpath и .project
файлы выбраны. Выберите Экспорт сгенерированных файлов классов и
ресурсы, чтобы сжать содержимое файла JAR, и выберите
укажите местоположение файла Jar и нажмите «Далее».
- Выберите Экспорт файлов классов с ошибками компиляции и предупреждениями.
Выберите Сохранить описание этого JAR-файла в рабочей области и
укажите местоположение как /uploader/jardesc.jardesc. Нажмите Далее.
- Выберите для создания файла манифеста, сохраните манифест в
рабочая область и используйте сохраненный манифест в сгенерированном JAR
файл описания.
- Укажите Основной класс в правильное место, нажав Обзор и
выбрав единственный вариант, который мне дан, который является загрузчиком.
затем нажмите Готово.
Если я сейчас открою файл манифеста, я вижу следующее:
Manifest-Version: 1.0
Main-Class: uploader.Main
Так что мне кажется правильным.
Однако, если я открою командную строку, перейдите в каталог cd, содержащий файл jar, и скажите java uploader.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.
Возможно, это поможет определить проблему?
* EDIT *
Я отредактировал файл manifest.mf для этого, но все еще получаю ошибку:
Manifest-Version: 1.0
Main-Class: uploader.Main
Class-Path: lib/enterprise.jar lib/wsc-22.jar