Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Could not find or load main class - при сборке jar из Maven'ом  [new]
wolfio
Member

Откуда: город дорог
Сообщений: 128
Добрый день.

Не получается собрать Maven'ом простейший проект, - при запуске скомпилированного jar файла ругается на то, что не может найти main-class:

Could not find or load main class prod.SimpleBot


Структура проекта
Картинка с другого сайта.

Листинг 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>groupId</groupId>
    <artifactId>TelBot</artifactId>
    <version>1.0.0</version>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>prod.SimpleBot</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>org.telegram</groupId>
            <artifactId>telegrambots</artifactId>
            <version>3.6.1</version>
        </dependency>
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.11.3</version>
        </dependency>
    </dependencies>
</project>


Пожалуйста подскажите, в чем может быть ошибка?

Пробовал играть с вариантами - добавлять/убирать пакеты, писать более полный путь в конфиг мавена (например java.SimpleBot etc), - не помогло.
19 авг 19, 08:47    [21952176]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2175
wolfio,
Попробуй в IDE собрать
19 авг 19, 09:20    [21952192]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
wolfio
Member

Откуда: город дорог
Сообщений: 128
PetroNotC Sharp
wolfio,
Попробуй в IDE собрать


да, я забыл упомянуть - если собрать в IDE как артифакт, то все норм. При этом в манифесте main-class прописан тем же образом.
Однако, мне нужно собрать именно через Maven, т.к. я конфиг пробрасываю на хостинг, и сборка по сути идет там, с дальнейшим запуском. Я не могу собрать его у себя и выложить туда. Точнее, могу но хотелось бы CLI использовать..
19 авг 19, 09:46    [21952207]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2175
wolfio,
OFF/2
А как твое мнение, это счас работа программиств или DevOps'a?
https://habr.com/ru/company/funcorp/blog/463505/
19 авг 19, 10:01    [21952219]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
wolfio
Member

Откуда: город дорог
Сообщений: 128
PetroNotC Sharp
wolfio,
OFF/2
А как твое мнение, это счас работа программиств или DevOps'a?
https://habr.com/ru/company/funcorp/blog/463505/


Если речь о моем вопросе, полагаю - это работа программиста. Не без опыта, само собой.
19 авг 19, 10:15    [21952228]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2175
wolfio,
Сборка на удаленной машине? Вопрос спорный. Удачи!
19 авг 19, 10:58    [21952278]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
wolfio
Member

Откуда: город дорог
Сообщений: 128
PetroNotC Sharp,

у меня на компьютере сборка ровно такая же.
при сборке на моем компе у меня jar-ник кривой - ошибка та же.
19 авг 19, 11:12    [21952291]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3334
PetroNotC Sharp
это счас работа программиств или DevOps'a?
https://habr.com/ru/company/funcorp/blog/463505/
Разгонять проект, чтобы там изначально все по красоте было - явно работа не рядового кодера, правда DevOps'ы такое не умеют, совсем.
19 авг 19, 11:20    [21952302]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2175
Андрей Панфилов,
Да. Поэтому спорная тенденция.
Как прогеры котрые интересуются командной строкой не для десктоп программ, так и админы пытающиеся стать ближе к кодерам.
19 авг 19, 11:23    [21952305]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
wolfio
Member

Откуда: город дорог
Сообщений: 128
Коллеги, разделяю вашу боль, от требования постигать что-то новое и возможно, не нужное, но вы не могли бы все же помочь мне с моей проблемой?
19 авг 19, 11:36    [21952314]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2175
wolfio,
Жди ответов. Не нервничай.
Мы тебе топик поднимаем.
19 авг 19, 11:45    [21952323]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
Lelouch
Member

Откуда: Москва
Сообщений: 1784
wolfio
Коллеги, разделяю вашу боль, от требования постигать что-то новое и возможно, не нужное, но вы не могли бы все же помочь мне с моей проблемой?


А можете jar приложить? и вывод mvn package -X
19 авг 19, 11:49    [21952329]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3334
wolfio
Коллеги, разделяю вашу боль, от требования постигать что-то новое и возможно, не нужное, но вы не могли бы все же помочь мне с моей проблемой?
там кмк все просто, java -jar ... из командной строки работать не будет, потому что там еще зависимости в виде telegrambots и jsoup (оно же пишет "Could not find or load main class prod.SimpleBot"), если хочется отдельный жарник, то нужно все в него упаковывать (варианты: spring boot , maven-assembly-plugin с jar-with-dependencies), в противном случае таскать зависимости с собой (здесь может maven-assembly-plugin помочь создать архив верной структуры и в манифесте зависимости прописать)
19 авг 19, 11:55    [21952338]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2573
укажи полный путь до мейн класс и все
класслодер не может найти тот файл,который ты указываешь по этому пути ,вот и все.
19 авг 19, 12:00    [21952351]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2175
Андрей Панфилов,
Думаю DevOps это должен знать
https://wiki.jenkins.io/display/JENKINS/Distributed builds
19 авг 19, 12:08    [21952362]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2573
<plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>appassembler-maven-plugin</artifactId>
                <version>1.1.1</version>
                <configuration>
                    <assembleDirectory>target</assembleDirectory>
                    <programs>
                        <program>
                            <mainClass>com.stas.telegrambots.Main</mainClass>
                            <name>workerBot</name>
                        </program>
                    </programs>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>assemble</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>


я вот так это решил в свое время
19 авг 19, 12:14    [21952366]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3334
PetroNotC Sharp
Поэтому спорная тенденция.
Да не то что спорная, а по факту какой-то рудимент кмк. Т.е. то что написано про DevOps:
https://en.wikipedia.org/wiki/DevOps
DevOps is a set of software development practices that combine software development (Dev) and information-technology operations (Ops) to shorten the systems-development life cycle while delivering features, fixes, and updates frequently in close alignment with business objectives
Фактически противопоставляется "классическому" подходу в ITIL, когда есть Transition (оно же разработка), а есть Operations (в нашем понимании это хелпдекс и выше (админы, эксперты и пр.)), на самом деле же в ITIL понятие DevOps существует - это Release and Deployment Management, однако мало кто из организаций до внедрения этого процесса доходит - "проще" делать чтобы разработка варилась сама по себе, а потом скидывала инструкции Operations, на вот этой "простоте", а по факту, полном отсуствии взаимопонимания между Transition и Operations и зародились DevOps. При этом необходимость DevOps мне как-то не очевидна, точнее так: если бы от них был бы выхлоп типа: "вот мы тут перетерли с архитектором и выяснили что у разрабатываемой системы будут такие модули, разделение на микросервисы будет таким-то, вот вам готовый шаблон проекта maven, чтобы оно могло запускаться в нашей распрекрасной CI/CD и при этом каждый разработчик может запускать отдельные части отдельно без установки дополнительного ПО", то вопросов бы никаких не было, однако в реальности DevOps - это кучка вахтеров люди, которые завладели доступом к определенным ресурсам и дальше варятся сами по себе
19 авг 19, 12:25    [21952375]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2175
Андрей Панфилов,
Это как в самолях раньше были трехчленные экипаже а счас двух.
Понятие инженер в воздухе сократили и пилоты стали операторами.
Ну дак для этого появиля самоль с джойстиком.
В IT пока нет на горизонте самоля с джойстииком.
19 авг 19, 12:33    [21952381]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
wolfio
Member

Откуда: город дорог
Сообщений: 128
asv79
я вот так это решил в свое время

А можешь показать полный листинг пожалуйста?
и если можно, структуру файлов.
19 авг 19, 19:13    [21952804]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2573
wolfio
asv79
я вот так это решил в свое время

А можешь показать полный листинг пожалуйста?
и если можно, структуру файлов.

вот целиком проект
уже год работает на heroku без сбоев)

https://github.com/apb12/TeleBot
19 авг 19, 20:34    [21952885]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
wolfio
Member

Откуда: город дорог
Сообщений: 128
asv79,

Спасибо.
Раз такое дело, можно ещё полюбопытствовать о содержимом Procfile'а для heroku?

Я собрал в общем то, другим плагином джарник. С моего компа запускается, а оттуда нет. Вот уже думаю может проблема в конфигурации запуска..
20 авг 19, 11:09    [21953168]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
asv79
Member

Откуда: Тверь
Сообщений: 2573
wolfio
asv79,

Спасибо.
Раз такое дело, можно ещё полюбопытствовать о содержимом Procfile'а для heroku?

Я собрал в общем то, другим плагином джарник. С моего компа запускается, а оттуда нет. Вот уже думаю может проблема в конфигурации запуска..


помоему вот это

worker sh target/bin/workerBot
20 авг 19, 12:56    [21953354]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
wolfio
Member

Откуда: город дорог
Сообщений: 128
asv79,

приложение быстро просыпается после получасового простоя?)
20 авг 19, 21:25    [21953816]     Ответить | Цитировать Сообщить модератору
 Re: Could not find or load main class - при сборке jar из Maven'ом  [new]
Valery Shiskin
Member

Откуда:
Сообщений: 786
wolfio,

Попробуйте:

 <manifest>
   <addClasspath>true</addClasspath>
  <mainClass>prod.SimpleBot</mainClass>
</manifest>
9 сен 19, 12:25    [21966739]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить