|
|
|
Добавление jar'ника в свой проект Maven
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Казалось бы чего проще, но я не понимаю, не знаю как лучше сделать следующее: Есть веб-проект крутится он на Tomcat сборка идет на сервере Maven'ом. Есть jar'ник. Не знаю как его в pom.xml прописать и куда положить, чтобы Maven его подхватил. Там же обычно просто прописываются без пути все зависимости. Наверное, его ручками кинуть в репозиторий свой локальный на сервере и прописать как обычно группАйди, артифакт и версию? Ну с этим-то ладно, может сейчас и разберусь, но тут под виндой в Netbeans попробовал его средствами IDE добавить. Добавил, вызываю в приложении по кнопке, на которую идет вызов конструктора этого jar'ника, простая инициализация, типа ReportsApp reportsApp = new ReportsApp(); внутри джарника есть конструктор, которые создает тестовый файл в системе и пишет в sout, что все хорошо. Запуская отдельно jar'ник, я сразу вижу появившийся рядом тестовый файл. А вот из веб-приложения я и файл не могу найти(не знаю куда он должен упасть, пользуюсь поиском). И в sout ничего не выводится (вроде логично sout-то не jar'ника там идет, но думал попадет туда тоже) Вообще задача такая: сделать ежедневный автозапуск некоего jar'ника, который собирает инфу по базе, считает, кладет в эксель и отправляет руководителям этот некий отчет. На сервере Cron прописал, он работает. Но! чтобы не дублировать один код и в приложении и тут в джарнике, решил добавить джарник в основной проект и передавать ему параметры, типа куда послать и т.д. То есть, чтобы можно было в любое время вызвать отчет. А отдельный джарник будет читать рядом лежащий файлик с прописанными адресами через ; к примеру, то есть те же параметры что и в приложении. В общем вот такую проблемку я сам себе надумал и не знаю как лучше реализовать, то ли с мавеном дальше разбираться, то ли вообще идти каким-то другим путем. Может у кого уже есть реализованные подобные задачи, поделитесь как оно чего? :) Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2017, 13:27 |
|
||
|
Добавление jar'ника в свой проект Maven
|
|||
|---|---|---|---|
|
#18+
Вы сами написали модуль? Nixicчтобы не дублировать один код и в приложении и тут в джарнике, решил добавить джарник в основной проект и не понимаете как он работает? Nixic файл не могу найти(не знаю куда он должен упасть, пользуюсь поиском). И в sout ничего не выводится Maven позволяет бить проекты на модули. Модуль может собираться в jar и публиковаться в локальный репозиторий. Опубликованый модуль можно использовать как в этом же, так и в других проектах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2017, 13:43 |
|
||
|
Добавление jar'ника в свой проект Maven
|
|||
|---|---|---|---|
|
#18+
BlazkowiczMaven позволяет бить проекты на модули. Модуль может собираться в jar и публиковаться в локальный репозиторий. Опубликованый модуль можно использовать как в этом же, так и в других проектах. Ммм.. то есть можно создать простые классы, в проекте, допустим в отдельном пакете, чтобы было нагляднее, а затем, средствами Maven склепать именно из них отдельны jar'ник и скопировать его и в папку для cron'a и в проекте он будет работать? п.с. уже начал изучать вопрос со стороны ресурсов и классЛоадера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2017, 13:57 |
|
||
|
Добавление jar'ника в свой проект Maven
|
|||
|---|---|---|---|
|
#18+
Модуль, если его можно так назвать, конечно, сам писал. Это проект в нетбинсе обычный джава аппликейшен. Создает файл там же где лежит, то есть без всяких там параметров типа user.home или полных путей до каких-нибудь папок. Запускаем джарник, видим рядом появившийся тестовый файл. Это просто для тестов сейчас, чтобы понимать, что оно работает и можно уже по нормальному переписывать и добавлять функционал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.03.2017, 14:00 |
|
||
|
Добавление jar'ника в свой проект Maven
|
|||
|---|---|---|---|
|
#18+
Чем дело-то кончилось :) Посмотрел я модульность в мавене, да можно, но с текущим проектом, который в нетбинсе это сделать... дорого получается. Переезжать на эклипс, где, вроде как, это делается парой кликов мыши, тоже не хочется. Да и не привык я к нему еще, хоть и пытаюсь там пет-проект на спринге ваять. Оказалось, что все работает, просто надо было метод вызывать, а не надеяться на конструктор :) Добавил зависимость в pom.xml, в нетбинсе мануально указал на джар. На сервере то же самое: прописал в пом и через mvn install:install-file .... в репозиторий, указав на то же самый джарник, который у меня дергает cron. В итоге: крон запускает джарник и ищет емейлы в рядом лежащем файле (причем крон у меня под юзером прописан, так что он ищет файл в домашней папке, если указывать путь ./emails.txt, так что пришлось указывать полный путь) и исполняет свою задачу. Из веб-морды отчет запускается используя тот же самый джарник, но передает в него другие параметры, в частности емейл того юзера под которым зашли в проект. Основная проблема сейчас, это обновление файла в репозитории, я пока не разобрался как без удаления(а может и удалять не надо, не проверял) обновить джарник в репозитории. Пока что обновляю его командой в терминале. Такие дела. Ах да, джарник клепается тоже мавеном сразу с библиотеками. Еще так-как используется бд и hibernate, то пришлось прописывать свой персистенс, ну и основные методы по выборке данных стащил из основного проекта с небольшими изменениями. Да, тут тоже дублирование получается, но не так чтобы совсем один в один. Меня пока устраивает, поддерживать вроде как не особо сложно, но если у кого-то есть что сказать, буду благодарен, всегда интересно, послушать старших :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2017, 20:07 |
|
||
|
Добавление jar'ника в свой проект Maven
|
|||
|---|---|---|---|
|
#18+
Когда нужно подключить third party jar ник, которого нет в публ репозитории, то создают в проекте папку lib туда его кладут и в корень проекта installdeps.sh/bat где соответственно все такие из папки lib ставятся через maven install. Способ ещё лучше - иметь приватный мавен репозиторий в компании, куда все заранее установить. Например, всякие ojdbc и прочее. Далее в проекте они подключаются как обычные зависимости. Если проект не собирается из командной строки без ide - на завод. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2017, 21:54 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39421889&tid=2123058]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 192ms |
| total: | 316ms |

| 0 / 0 |
