2014-12-12 3 views
1

Я пытаюсь загрузить файл с помощью веб-драйвера Selenium. Выше ошибка принимается. Я знаю, что код в порядке. Большинство сообщений говорят, что это потому, что «зависимости». Как я могу это решить? Я проверил, что не было файлов с именами с одинаковыми именами. Здесь я показываю некоторый снимок экрана моих файлов jar. Как я могу решить эту проблему с зависимостями?Как решить Исключение в теме "main" java.lang.NoSuchFieldError: INSTANCE?

Java код:

import java.io.File; 
    import java.io.IOException; 
    import org.openqa.selenium.By; 
    import org.openqa.selenium.WebDriver; 
    import org.openqa.selenium.WebElement; 
    import org.openqa.selenium.firefox.FirefoxDriver; 
    import org.openqa.selenium.remote.CapabilityType; 
    import org.openqa.selenium.remote.DesiredCapabilities; 

    public class FusekiStart { 

    public static void main(String[] args) { 

     /* Selenium config */ 
     String PROXY = "localhost:3030"; 

     org.openqa.selenium.Proxy proxy = new org.openqa.selenium.Proxy(); 
     proxy.setHttpProxy(PROXY) 
      .setFtpProxy(PROXY) 
      .setSslProxy(PROXY); 
     DesiredCapabilities cap = new DesiredCapabilities(); 
     cap.setCapability(CapabilityType.PROXY, proxy); 
     WebDriver driver = new FirefoxDriver(cap); 
     driver.get("http://localhost:3030/control-panel.tpl"); 
     driver.findElement(By.xpath("//input[@value='Select']")).click(); 
          driver.findElement(By.xpath("//input[@type='file']")).sendKeys("C:\\Users\\user1\\Desktop\\Ontology.owl"); 
     driver.findElement(By.xpath("//input[@value='Upload']")).click(); 

} 

} сообщение

Ошибка:

Exception in thread "main" java.lang.NoSuchFieldError: INSTANCE 
    at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>  (DefaultHttpRequestWriterFactory.java:52) 
at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<init>(DefaultHttpRequestWriterFactory.java:56) 
at org.apache.http.impl.io.DefaultHttpRequestWriterFactory.<clinit>(DefaultHttpRequestWriterFactory.java:46) 
at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:72) 
at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<init>(ManagedHttpClientConnectionFactory.java:84) 
at org.apache.http.impl.conn.ManagedHttpClientConnectionFactory.<clinit>(ManagedHttpClientConnectionFactory.java:59) 
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager$InternalConnectionFactory.<init>(PoolingHttpClientConnectionManager.java:487) 
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:147) 
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:136) 
at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.<init>(PoolingHttpClientConnectionManager.java:112) 
at org.openqa.selenium.remote.internal.HttpClientFactory.getClientConnectionManager(HttpClientFactory.java:68) 
at org.openqa.selenium.remote.internal.HttpClientFactory.<init>(HttpClientFactory.java:55) 
at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:99) 
at org.openqa.selenium.remote.HttpCommandExecutor.<init>(HttpCommandExecutor.java:82) 
at org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:93) 
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:246) 
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:114) 
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:193) 
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186) 
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:104) 
at uom.brts.statisticalmt.FusekiStart.main(FusekiStart.java:39) 

Jar files

Jar files web app

+0

Вы пытаетесь загрузить с локального компьютера на веб-сайт? –

+0

@HelpingHands Да. Я запускаю некоторый сервер локально (localhost) и пытаюсь загрузить файл. Код работает. Потому что я загрузил файл еще один пакет java, который не содержит все эти файлы jar. Я думаю, что не так с этими файлами jar. Может ли это произойти с конфликтом с файлами jar? – Maduri

+0

ДА, тогда вы должны сначала интегрировать недостающие банки. –

ответ

0

Проверить т его ссылка: Source Code at Grep

Вам не хватает класса BasicLineFormatter из пакета org.apache.http.message.

+0

@Tabreji Khan Вы имеете в виду некоторую проблему с кодированием? Но код работает с другим пакетом, который содержит только один файл jar. Не из-за конфликта с файлами jar? – Maduri

+0

Может возникнуть проблема с конфигурацией ... –

+0

@Tabreji Khan Но код работает исправно. Я уверен. Знаете ли вы, что означает проблема зависимостей и как она решается? – Maduri

0

Я бы сказал, что это не исправит вашу проблему, но вы можете увидеть, включив в него файл jar-файла httpcore 4.2.2, который вы используете в настоящее время. Можете ли вы попытаться получить более высокий результат от Link и заменить его на текущий httpcore 4.2.2 и посмотреть, какая разница?

+0

Но мой же код правильно работает с файловой машиной selenium server этой версии и содержит только файл selenium jar. Проблема возникла после того, как я поместил этот код и файлы selenium jar в этот новый пакет, содержащий огромный набор файлов jar. – Maduri

+0

Из моего наблюдения, имеющего разные версии, также возникает конфликт. Так что это была моя первая проблема. Мы должны посмотреть файлы jar и их версии, включенные в наш пакет. Если возможно, храните файлы jar одной и той же версии вместе и проверьте вывод. –

0

Я столкнулся с той же проблемой. После много отладки я узнал, что есть конфликт CLASSPATH. Файл с флягами, уже существующий в проекте

httpclient-osgi-4.2.1.jar 

был в противоречии с файлами банка selenium. К счастью для меня, файл httpclient-osgi-4.2.1.jar больше не требуется в проекте, поэтому я мог бы безопасно его удалить. После этого проблема исчезла.

Сообщение об ошибке является жалким. Это никоим образом не указывает на реальную проблему.

+0

из какого пакета вы удалили эту банку? –

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