Browsermob вызывает ошибку в файле jar, созданном IntelliJ

Я пытаюсь создать исполняемый файл jar для проекта автоматизации тестирования Maven Selenium/TestNG/Java, но продолжаю получать сообщение «Ошибка: не удалось найти или загрузить основной класс» при запуске файла .jar.
Чтобы убедиться, что именно Browsermob вызывает сбой jar, я создал новый проект maven, который имеет один файл в каталоге src\main\java.

public class Test2 {
    public static void main(String[] args) {
        System.out.println("works");    
    }
}

Я использую IntelliJ, и при создании .jar (Структура проекта > Артефакты > JAR > Из модулей... и т. д.) без зависимости от Browsermob все в порядке. Но как только я добавляю к нему Browsermob, .jar начинает давать сбой с сообщением «Ошибка: не удалось найти или загрузить основной класс».

Error: Could not find or load main class Test2
Caused by: java.lang.ClassNotFoundException: Test2

Другие зависимости, похоже, не вызывают никаких проблем.

pom.xml на всякий случай:

<?xml version="1.0" encoding="UTF-8"?>
<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>JarTest</groupId>
    <artifactId>gpn</artifactId>
    <version>1.0-SNAPSHOT</version>

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

Что может быть причиной?


person cloudhunt    schedule 20.07.2018    source источник


Ответы (1)


Для упаковки работающего плагина в Maven вам нужен специальный плагин. Существует множество вариантов, из которых вы можете выбирать. Подробнее см. здесь, а также здесь

person Leviand    schedule 20.07.2018
comment
Благодарю вас! 1-я ссылка действительно помогла. - person cloudhunt; 20.07.2018
comment
Хотя теперь я добавил TestNG testng = new TestNG(); в основной метод (также зависимость testng от pom), и он не работает с Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/TestNG at Test2.main, но я думаю, что это другая проблема. - person cloudhunt; 20.07.2018
comment
Да, это другое; если ответ был полезен, пожалуйста, проголосуйте и отметьте как действительный ответ :) - person Leviand; 20.07.2018
comment
Я пытался проголосовать, но я здесь новенький и у меня недостаточно репутации, чтобы мой голос засчитывался (извините за это! - person cloudhunt; 20.07.2018