簡體   English   中英

如何解決線程“main”中的異常 java.lang.NoSuchFieldError: INSTANCE?

[英]How to solve Exception in thread “main” java.lang.NoSuchFieldError: INSTANCE?

我正在嘗試使用 Selenium Web 驅動程序上傳文件。 以上錯誤接收。 我知道代碼沒問題。 大多數帖子說這是因為“依賴關系”。 我該如何解決? 我檢查過沒有同名的 jar 文件。 在這里,我展示了我的 jar 文件的一些屏幕截圖。 我該如何解決這個依賴問題?

爪哇代碼:

    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 文件

Jar 文件網絡應用程序

檢查此鏈接: Grep 的源代碼

您缺少 org.apache.http.message 包中的 BasicLineFormatter 類。

我會說這不會解決您的問題,但是您可以通過包含 httpcore 4.2.2 jar 文件來查看您當前正在使用的文件。 您能否嘗試從鏈接中獲取更高的版本並將其替換為當前的 httpcore 4.2.2,看看它有什么不同?

我遇到了同樣的問題。 經過大量調試,我發現存在CLASSPATH沖突。 項目中已存在的 jar 文件

httpclient-osgi-4.2.1.jar

與硒 jar 文件沖突。 對我來說幸運的是,項目中不再需要 httpclient-osgi-4.2.1.jar 文件,所以我可以安全地刪除它。 之后問題就沒有了。

錯誤信息是可悲的。 以任何方式指出真正的問題都無濟於事。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM