2015-08-18 2 views
0

Я создал приложение, которое использует selenium-server-standalone-2.47.1.jar и javax.mail.jar. Код работает на eclipse, но я хотел бы запустить его из командной строки. Поэтому я экспортировал проект в исполняемый файл jar, который содержит как селен, так и javax.mail.jar. Мой код содержит RTC.java, который имеет главную функцию, а другой Ex.java. Оба файла класса создаются в папке com. Мой файл App1.jar находится в папке C: \ installers.Выполнение класса в файле jar

Я использовал команду:

c:\installers> java -cp App1.jar com.RTC 

Он говорит:

Exception in thread "main" java.lang.NoClassDefFoundError: org.openqa.selenium.WebDriver 

Далее я использовал:

java -cp .App1.jar com.RTC 

Тогда он говорит, не может найти или загрузить основной класс com.RTC ,

Что я делаю неправильно?

+0

Вы можете увидеть класс 'WebDriver' внутри JAR? –

+0

Я извлек файл selenium jar. Существует org.openqa.selenium.WebDriver.class – Ansu

+0

Возможный дубликат [Как решить java.lang.NoClassDefFoundError?] (Http://stackoverflow.com/questions/17973970/how-to-solve-java-lang-noclassdeffounderror) – connorp

ответ

0

Я нашел решение. Мне не нужно создавать файл jar, в котором есть ссылочные банки. Я должен упомянуть мою банку, в которой есть мой код и ссылочные банки, которые я использую в пути к классу.

Мой код в App.jar.The эталонные банки являются

Селен-сервера автономный-2.47.1.jar и javax.mail.jar.

так что я использовал C: \ монтажников> Java -cp Селен-сервер автономного-2.47.1.jar; javax.mail.jar; app.jar com.RTC

спасибо.

0

Я использовал команду:

c:\installers> java -cp App1.jar com.RTC 

Он говорит:

Exception in thread "main" java.lang.NoClassDefFoundError: 
org.openqa.selenium.WebDriver 

Это исключение, как правило, означает, что .class файл был найден, но он не сделал содержат правильный класс. Проверьте, как вы помещаете его в JAR. Это каталог и имя файла должны совпадать с его именем пакета и класса.

Иногда это также означает, что вторичный класс не найден. Обычно вторичные JAR файлы упоминаются в class-path записи манифеста основного файла JAR, наряду с именем main-class, так что вы можете использовать

java -jar App1.jar 

Далее я использовал:

java -cp .App1.jar com.RTC 

Тогда он говорит, что не смог найти или загрузить основной класс com.RTC.

Я не удивлен. Если первая команда дошла до него, имя файла JAR не начинается с точки. Не представляю, почему ты это пробовал. Это вздор.

Смежные вопросы