Собираем JAR с Vue.js внутри. Spring Boot Rest

  Рет қаралды 11,680

letsCode

letsCode

Күн бұрын

Пікірлер: 56
@allteran
@allteran 3 жыл бұрын
Мегаогромнейшее спасибо за ролик, Дрю! Для тех, кто также как и я решил сначала собрать проект на Maven'e, а потом перекочевал на Gradle и получил ошибки типа: yarn_install failed или npm not found (error=2): 1. Node-плагин для gradle у автора в видео на момент 2022 уже устарел и вышла его другая версия, импортируем с помощью: plugin { ... id "com.github.node-gradle.node" version "3.1.1" ... } 2. Чтобы Gradle скачивал последнюю ноду, а не искал ее локально, ибо он может и не находить - лучше добавить секцию с конфигурацией этого плагина: node { download = true } 3. Если вы едете на 17-й Java - то в настройках gradle лучше указать совместимость с версией младше, к примеру sourceCompatibility = '11' 4. Если вдруг сталкиваетесь с ошибкой установки зависимостей yarn (exit code 128, недостаточно прав) - удалите из корня проекта файл yarn.lock Чистого кода всем!
@ВадимШох-п5щ
@ВадимШох-п5щ 4 жыл бұрын
Дрю, сто тысяч лайков!! Начав 1 урок, я не думал, что дойду до сюда. Но все оказалось предельно понятно и просто. Конечно, предстоит еще подробно разобраться в тех десятках технологий, что тут заиспользованы (перенял словечко)), но кто сказал, что будет легко) Огромное человеческое спасибо!
@YuretsUA
@YuretsUA 4 жыл бұрын
Автору однозначно спасибо, весь цикл уроков завершил только ради финальной зборки, хотя на пути к цели набрел на очень много чего интересного и полезного. Немного покопавшись удалось соорудить костыль для maven, сразу оговорюсь - работает но есть нюансы. Есть такой плагин frontend-maven-plugin но при его работе происходит установка npm и yarn по указанному пути, что не является оптимальным вариантом, (хотя может я просто не нашел как его настраивать), ну и плюс нету очистки контента, yarn_cache_clean. но при всем при этом jar-ник удалось собрать. кому интересно можете попробовать: com.github.eirslett frontend-maven-plugin 1.6 target 0 install node and yarn install-node-and-yarn v8.9.3 v1.3.2 yarn install yarn yarn build yarn build Добавляем все это дело в перед плагином spring-boot-maven-plugin. Подробнее про плагин можно почитать здесь github.com/eirslett/frontend-maven-plugin
@andreiscurtu5908
@andreiscurtu5908 4 жыл бұрын
Балдею от качества своего контента !
@andreiscurtu5908
@andreiscurtu5908 4 жыл бұрын
*твоего )
@arturzolotov3430
@arturzolotov3430 4 жыл бұрын
На 8:11 (перед тем как выполнить yarn start) проверьте следующие файлики: 1) main.js должно быть: import 'api/resource' import router from 'router/router' import App from 'pages/App.vue' import store from 'store/store' 2)store.js должно быть: import messagesApi from 'api/messages' import commentApi from 'api/comment' 3)router.js должно быть: import MessagesList from 'pages/MessageList.vue' import Auth from 'pages/Auth.vue' import Profile from 'pages/Profile.vue' 4)App.vue должно быть: import { addHandler } from 'util/ws' 5)Profile.vue должно быть: import profileApi from 'api/profile' 6)MessageList.vue должно быть: import MessageRow from 'components/messages/MessageRow.vue' import MessageForm from 'components/messages/MessageForm.vue' import LazyLoader from 'components/LazyLoader.vue' 7)CommentItem.vue должно быть: import UserLink from 'components/UserLink.vue' 8)MessageRow.vue должно быть: import Media from 'components/media/Media.vue' import CommentList from '../comment/CommentList.vue' import UserLink from 'components/UserLink.vue'
@AnnaSmirnova1
@AnnaSmirnova1 4 жыл бұрын
А почему так работает?
@ms_shifu7047
@ms_shifu7047 5 жыл бұрын
Наконец-то новый видос.
@dmitrysomsin2117
@dmitrysomsin2117 4 жыл бұрын
Спасибо за урок!
@vp9878
@vp9878 4 жыл бұрын
Спасибо за уроки. Каждый из них как марафон, информации вагон)
@soul8927
@soul8927 5 жыл бұрын
А-ааа, ты жив. Спасибо за видос)
@letsCodeDru
@letsCodeDru 5 жыл бұрын
Жив. В погрузе, но жив :) постараюсь так не пропадать больше)
@alexeysharandin7364
@alexeysharandin7364 5 жыл бұрын
Как всегда, спасибо! Единственное, что можно добавить к видео, это кусочек для перфекционистов: Чтобы в jar-ник не попадали исходники фронтэнда, добавить в build.gradle что-то типа: sourceSets { main { resources { exclude 'js' } } }
@borismatashin5891
@borismatashin5891 3 жыл бұрын
топ, нечего больше добавить)
@tomozi1
@tomozi1 5 жыл бұрын
Отличное видео!
@aleksplats
@aleksplats 5 жыл бұрын
Спасибо, ты очень помогаешь!
@TheWallMr
@TheWallMr 5 жыл бұрын
как тоже самое с maven сделать?
@daboggg
@daboggg 5 жыл бұрын
спасибо, как всегда отлично, продолжай пожалуйста
@andreyguzik2675
@andreyguzik2675 5 жыл бұрын
Моя девушка посмотрела видео, собрала jar с vue внутри и ушла от меня... спасибо
@letsCodeDru
@letsCodeDru 5 жыл бұрын
Догоняй, балбес! Нашёл время комменты строчить! 😂
@80cahek
@80cahek 3 жыл бұрын
может она на собеседку ушла, вернется айтишницей.
@Name-mm2kx
@Name-mm2kx 5 жыл бұрын
Спасибо)
@СашаБатькович-р9ы
@СашаБатькович-р9ы 5 жыл бұрын
Как это в maven провернуть ?
@antonkuznetsov4978
@antonkuznetsov4978 5 жыл бұрын
Жаль что так долго ждать новых видосов, ведь они суперские.
@muhtoryusufjanov3946
@muhtoryusufjanov3946 5 жыл бұрын
Thanks :)
@ИльяСиротин-ф3ф
@ИльяСиротин-ф3ф 5 жыл бұрын
Лукас
@asdasd-fu4ow
@asdasd-fu4ow 4 жыл бұрын
спасибо!
@Ivan-oy9ub
@Ivan-oy9ub 4 жыл бұрын
thanks!
@andreyandryunin8737
@andreyandryunin8737 5 жыл бұрын
не компилировался файл main.js была ошибка TypeError: CleanWebpackPlugin is not a constructor. исправил в файле webpack.prod.js строчку const CleanWebpackPlugin = require('clean-webpack-plugin'); на const { CleanWebpackPlugin } = require('clean-webpack-plugin');
@ВадимШох-п5щ
@ВадимШох-п5щ 4 жыл бұрын
Спасибо, добрый человек!
@ВладиславМелехин-е5р
@ВладиславМелехин-е5р 4 жыл бұрын
Дай бог здоровья!
@papchenko
@papchenko 3 жыл бұрын
Кто собирает проект в 2021 1. Обновляемся до gradle 7.0.2 2. В поле plugins добавляем id "com.github.node-gradle.node" version "3.1.0" вместо того что добавлял автор. 3. после поля plugins apply plugin: 'com.github.node-gradle.node' 4. на Windows в Terminal .\gradlew build
@АлександрМоскаленков-з6й
@АлександрМоскаленков-з6й 4 жыл бұрын
Пишу проблемы с которыми столкнулся при ./gradlew build Возможно кому то это поможет в будущем. 1)У меня под Windows нужно было прописывать .\gradlew build а не ./gradlew build как показано в видео 2)В dependencies необходимо было удалить зависимости implementation 'com.sun.xml.bind:jaxb-core' implementation 'com.sun.xml.bind:jaxb-impl' Не знаю и не помню как они там появились. 3)В переменных среды Windows нужно было добавить JAVA_HOME c указанием на папку с jdk 4)В dependencies нужно было добавить compileOnly 'org.projectlombok:lombok:1.18.12' annotationProcessor 'org.projectlombok:lombok:1.18.12' Без них не работали гетеры и сеторы при сборке. Автору спасибо за виде. Пишу только для того чтобы помочь тем кто в будущем может столкнуться с такими же проблемами как и я, а не для того чтобы сказать что видео плохое.
@Nikita-hu9bk
@Nikita-hu9bk 4 жыл бұрын
А как вы дошли до этого урока с этими ошибками?) Я их уроков 6 назад пофиксил.
@sergoorlov3899
@sergoorlov3899 5 жыл бұрын
Спасибо за то что ты делаешь. Буду очень благодарен если покажешь как деплоить на Heroku
@Sergey111111
@Sergey111111 5 жыл бұрын
Очень круто, ждем накручивания CI/CD. Только действительно, это, конечно, жесть 1 Мб js файл, он же при каждом реквете будет посылаться
@letsCodeDru
@letsCodeDru 5 жыл бұрын
Нет. Он кэшируется на клиенте. Пересылать я будет только после изменений
@alexandrguravskiy9985
@alexandrguravskiy9985 5 жыл бұрын
Cool!!! Только у меня проблема нахождения пути в import - ах пришлось везде вместо 'js' прописывать ' ..' и c lombok need add compileOnly 'org.projectlombok:lombok:1.18.8' annotationProcessor 'org.projectlombok:lombok:1.18.8' lombok - Это зло
@АлександрМоскаленков-з6й
@АлександрМоскаленков-з6й 4 жыл бұрын
Не только у Вас. Этот комментарий сэкономил мне часа 2 времени. Плюс не пришлось расставлять гетеры-сеторы руками. Спасибо
@YuretsUA
@YuretsUA 4 жыл бұрын
+1 к карме тебе добрый человек, есть такое дело, проблема в относительных путях. пришлось пройтись по всем ошибкам и изменить пути на ../somefile или ../../somefile, почему-то если у меня файл в пути js/components/comment/CommentItem.vue то если прописать путь к ../components/UserLink.vue" оно его будет искать по пути js/components/comment, хотя путь задан относительно корня проекта. Благо в ошибках все написано, можно разобраться.
@gamerecords_site
@gamerecords_site 4 жыл бұрын
Этот проект можно скомпилировать в Maven?
@andreid5588
@andreid5588 5 жыл бұрын
Спасибо за видео, особенно понравилось как автоматизировали в Grade, такие ньюансы очень бодрят. И ещё, после смены директории пришлось изменить пути import, т.к. Idea не атрефакторила. Одно не приятно, когда всё находилось в static то Idea норм подсвечивала пути, а после переноса пришлось писать относительные пути ../../ хотя webpack норм собирает если пути указаны от паки js, но Idea ругается на это, что нет такой директори.
@andreid5588
@andreid5588 5 жыл бұрын
что бы Idea "подтягивала" пути из webpack нужно Settings->Languages & ... -> JavaScript -> Webpack указать настроичный файл. Ещё удобно в этот файл добавить: resolve: { alias: { '@': path.resolve(__dirname, 'src', 'main', 'resources', 'js') }} и можно тогда пути импорта не относительные писать, а стильно: import CommentList from '@/components/comment/CommentList.vue'
@ivsergey5150
@ivsergey5150 5 жыл бұрын
а покажите как заменить localhost во всем проекте на нужный ip, просто он везде: и во vue, webpack,spring. так бы что бы в одном месте прописал и все!
@obuhovmi
@obuhovmi 3 жыл бұрын
Попробовал собрать jar файл, вроде собрался и запустился по localhost работает, но когда ввожу IP адрес своей машины то получаю "отсутствует заголовок CORS" Как с этим бороться? Я делал не все из уроков, у меня нет Security...
@denistrofimenko6602
@denistrofimenko6602 5 жыл бұрын
Поскорее бы docker
@Сухастой
@Сухастой 5 жыл бұрын
Как с тобой связаться нужна твоя помощь?
@letsCodeDru
@letsCodeDru 5 жыл бұрын
А точно моя помощь? Приходи в чат, у нас там народ смышленый и помогает хорошо.
@andreyandryunin8737
@andreyandryunin8737 5 жыл бұрын
не билдился проект. 32 ошибки. пришлось ручками создавать геттеры сеттеры и конструкторы в классах.
@Shel_Chanel
@Shel_Chanel 5 жыл бұрын
Та же проблема была. Добавьте в зависимости грэдла annotationProcessor('org.projectlombok:lombok')
@alexandrguravskiy9985
@alexandrguravskiy9985 5 жыл бұрын
@@Shel_Chanel I will try now, thanks )
@Psyjewnaut
@Psyjewnaut Жыл бұрын
Не кошерно это клиент и сервер в один файл пихать
@borymskyi
@borymskyi 2 жыл бұрын
Кто ловит ошибку CleanWebpackPlugin , в webpack.prod.js , замените 4 строку на эту: const { CleanWebpackPlugin } = require('clean-webpack-plugin'); + после испрвьте все необходимые импорты, которые консоль будет писать.
Публикация на Heroku. Spring Boot Rest
14:08
letsCode
Рет қаралды 35 М.
ВЛОГ ДИАНА В ТУРЦИИ
1:31:22
Lady Diana VLOG
Рет қаралды 1,2 МЛН
Война Семей - ВСЕ СЕРИИ, 1 сезон (серии 1-20)
7:40:31
Семейные Сериалы
Рет қаралды 1,6 МЛН
$1 vs $500,000 Plane Ticket!
12:20
MrBeast
Рет қаралды 122 МЛН
Вопрос Ребром - Джиган
43:52
Gazgolder
Рет қаралды 3,8 МЛН
Комментарии с JPA Entity Graph. Spring Boot Rest
28:53
Пишем REST API сервис на Go - УЛЬТИМАТИВНЫЙ гайд
2:57:51
Николай Тузов — Golang
Рет қаралды 148 М.
ВЛОГ ДИАНА В ТУРЦИИ
1:31:22
Lady Diana VLOG
Рет қаралды 1,2 МЛН