JNI-ошибка, возникающая при попытке запустить BrowserMobProxyServer во встроенном режиме (Java, Maven) - PullRequest
0 голосов
/ 25 октября 2018

Привет, ребята, мой первый пост здесь ... Я пытаюсь настроить Selenium и Browsermob Proxy в Java во встроенном режиме (должен сказать, что я никогда раньше не использовал Maven, Selenium или BrowserMob Proxy).Следуя инструкциям Github для BrowserMob Proxy, я настроил Maven-Project в Eclipse и добавил обе зависимости в pom.xml.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ba</groupId>
<artifactId>com.ba.project</artifactId>
<version>0.0.1-SNAPSHOT</version>

<dependencies>
    <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
    <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>3.14.0</version>
    </dependency>

<dependency>
    <groupId>net.lightbody.bmp</groupId>
    <artifactId>browsermob-core</artifactId>
    <version>2.1.5</version>
    <scope>test</scope>
</dependency>
</dependencies>

, чтобы протестироватьработает ли он ...

public class Test {
public static void main(String[] args) {
    System.setProperty("webdriver.gecko.driver", "...");
    WebDriver driver = new FirefoxDriver();
    BrowserMobProxy proxy = new BrowserMobProxyServer();
    proxy.start(0);
}}

... Я получаю этот errordialog , за которым следует это исключение ..

Exception in thread "main" java.lang.NoClassDefFoundError: net/lightbody/bmp/BrowserMobProxy
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: 
net.lightbody.bmp.BrowserMobProxy
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)
... 7 more

Когда я удаляю последние строкииз основного метода все работает без проблем.У кого-нибудь есть идеи, что я тут делаю не так?Заранее спасибо.

1 Ответ

0 голосов
/ 26 октября 2018

Можете ли вы заменить

<dependency>
    <groupId>net.lightbody.bmp</groupId>
    <artifactId>browsermob-core</artifactId>
    <version>2.1.5</version>
    <scope>test</scope>
</dependency>

на

<dependency>
    <groupId>net.lightbody.bmp</groupId>
    <artifactId>browsermob-core</artifactId>
    <version>2.1.5</version>
</dependency>

и попробовать?Может быть проблема с разрешением зависимости файла POM.

...