Јава

Ант вс Мавен вс Градле

Ант вс Мавен вс Градле

Избор правог алата за изградњу: Ант против Мавен вс Градле

Током развоја софтвера, програмери морају поново и изнова да граде исти код. Често покушавају да користе басх скрипте или друге скриптне језике за аутоматизацију задатка. Међутим, постоје доступни алати за изградњу који су прикладнији за аутоматизацију израде. Превладавајући алати за израду су:

Истражимо алате како бисмо сазнали више.

Апачи мрав са бршљаном

Апацхе Ант је алат за командну линију заснован на Јави који користи КСМЛ датотеке за дефинисање скрипти за изградњу. Углавном се користи за Јава верзије, али се може користити и за развој Ц / Ц ++. Уграђени задаци пружају начине за компајлирање, састављање, тестирање и покретање софтверских апликација. Корисници такође могу да креирају сопствене „антлибс“ да би побољшали функционалност Ант-а. Апацхе Иви је алат за управљање зависношћу који се лако интегрише са Ант-ом да би пружио робуснији екосистем. Развој Ант започео је 2000. године.

Прос

Цонс

Пример мрава са бршљаном

Овде можете да инсталирате најновији Ант. Морате да преузмете зип, проширите и ставите мапу за смеће на своју путању. Помоћу следеће наредбе можете да видите да ли је Ант правилно инсталиран:

$ ант -верзија
Апацхе Ант (ТМ) верзија 1.10.1 састављен 02. фебруара 2017

Када инсталирате Ант, можете да преузмете најновији Иви јар и ставите га у фасциклу либ у директоријуму Ант.

Након што инсталирате Ант, креирајте фасцикле хелловорлд и хелловорлд / срц. Унутар директоријума срц ставите хелловорлд.јава датотека са кодом:

/ **************************
Штампа „Хелло Ворлд!"
*************************** /
јавна класа хелловорлд
јавна статичка воид главна (Стринг [] аргс)
Систем.напоље.принтлн ("Здраво свете!");

Сада у фасцикли хелловорлд креирајте изградњу.кмл датотеку са следећим кодом:
























И у истој фасцикли хелловорлд креирајте бршљан.кмл датотеку са следећим кодом:






Структура директорија би требала изгледати овако:

Здраво Свете
| - буилд.кмл
| - бршљан.кмл
'- срц
'-- Здраво Свете.јава

Сада можете покренути изградњу наредбом:

Тегла од мрава $

Успешна градња би требало да пружи овакве резултате:

Тегла од мрава $
Буилдфиле: / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнАНТ / хелловорлд / буилд.кмл
решити:
[иви: ретриеве] :: Апацхе Иви 2.4.0 - 20141213170938 :: хттп: // ант.апацхе.орг / иви / ::
[иви: дохватити] :: подешавања учитавања :: урл = јар: датотека: / Усерс / зак / БуилдТоолс / АНТ / апацхе
-мрав-1.10.1 / либ / бршљан-2.4.0.тегла!/ орг / апацхе / иви / цоре / сеттингс / ивисеттингс.кмл
[иви: ретриеве] :: решавање зависности :: орг.апацхе # хелловорлд; [заштићен е-поштом]
МацБоок-Аир.локално
[иви: ретриеве] цонфс: [дефаулт]
[иви: ретриеве] фоунд јунит # јунит; 4.12 у јавности
[бршљан: преузима] пронађену орг.хамцрест # хамцрест-цоре; 1.3 у јавности
[бршљан: преузимање] :: извештај о резолуцији :: решавање 397мс :: артефакти дл 15мс
---------------------------------------------------------------------
|. | |. | модули || артефакти |
|. | цонф | број | претрага | двнлдед | исељен || број | затечен |
---------------------------------------------------------------------
|. | дефаулт | 2 | 0 | 0 | 0 || 4 | 0 |
---------------------------------------------------------------------
[иви: ретриеве] :: ретриевинг :: орг.апацхе # хелловорлд
[иви: ретриеве] цонфс: [дефаулт]
[иви: ретриеве] 0 копираних артефаката, 4 већ преузета (0кБ / 39мс)
саставити:
[мкдир] Креирао је директоријум: / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнАНТ / хелловорлд / буилд /
класе
[јавац] / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнАНТ / хелловорлд / буилд.кмл: 22: упозорење:
„инцлудеантрунтиме“ није постављено, подразумевано се гради.сисцласспатх = задњи; постављено на нетачно
за поновљиве израде
[јавац] Компајлирање 1 изворне датотеке у / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнАНТ /
хелловорлд / буилд / цлассес
тегла:
[мкдир] Креирао је директоријум: / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнАНТ / хелловорлд / буилд / бин
[јар] Израда јар: / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнАНТ / хелловорлд / буилд / бин /
Здраво Свете.тегла
ГРАДИТИ УСПЕШНО
Укупно време: 6 секунди

Можете испробати јар датотеку на следећи начин:

$ јава -цп буилд / бин / хелловорлд.тегла хелловорлд
Здраво Свете!

Дефинисали смо јар датотеку која ће се ставити у директоријум буилд / бин. Фасцикле се креирају током израде. Команда мрава јар позива јар циљ у изради.кмл.

Мавен

Мавен је развијен за решавање проблема са којима се суочавају скрипти засновани на Ант-у. Чувао је КСМЛ датотеке, али је заузео другачији приступ организацији. У Ант-у програмери морају да креирају све задатке. Мавен смањује стварање задатака применом јачих стандарда за организовање кода. Као резултат тога, лакше је започети са стандардним пројектима.

Такође је увео преузимања зависности која су олакшала развој. Пре увођења Иви-а у Ант, корисници су морали локално да управљају зависностима. Мавен је прво усвојио филозофију управљања зависношћу.

Међутим, строги стандарди Мавенса отежавају писање прилагођених скрипти за изградњу. Алат је лак за рад докле год се пројекат придржава строгих стандарда.

Прос

Цонс

Пример Мавена

Најновији Мавен можете преузети одавде. Инсталацију можете проверити овако:

$ мвн --верзија
Апацхе Мавен 3.5.2 (138едд61фд100ец658бфа2д307ц43б76940а5д7д; 2017-10-18Т00: 58: 13-07: 00)
Мавен хоме: / Усерс / зак / БуилдТоолс / Мавен / апацхе-мавен-3.5.2
Јава верзија: 1.8.0_74, добављач: Орацле Цорпоратион
Јава почетна страница: / Библиотека / Јава / ЈаваВиртуалМацхинес / јдк1.8.0_74.јдк / Садржај / Почетна / јре
Подразумевана локализација: ен_УС, кодирање платформе: УТФ-8
Име ОС: "мац ос к", верзија: "10.11.6 ", лук:" к86_64 ", породица:" мац "

Направите хелловорлд директоријум и генеришите пројекат следећом наредбом:

$ мвн архетип: генериши -ДгроупИд = цом.Име компаније.хелловорлд -ДартифацтИд = хелловорлд
-ДарцхетипеАртифацтИд = мавен-арцхетипе-куицкстарт -ДинтерацтивеМоде = фалсе

Требало би да креира структуру директоријума и генерише излаз који изгледа овако:

[ИНФО] Скенирање пројеката ..
[ИНФО]
[ИНФО] ------------------------------------------------------------------------
[ИНФО] Буилдинг Мавен Стуб Пројецт (Без ПОМ) 1
[ИНФО] ------------------------------------------------------------------------
[ИНФО]
[ИНФО] >>> додатак за мавен-арцхетипе: 3.0.0: генерирај (дефаулт-цли)> генериши-изворе
@ стандалоне-пом >>>
[ИНФО]
[ИНФО] <<< maven-archetype-plugin:3.0.0:generate (default-cli) < generate-sources
@ стандалоне-пом <<<
[ИНФО]
[ИНФО]
[ИНФО] --- мавен-арцхетипе-плугин: 3.0.0: генерисати (дефаулт-цли) @ стандалоне-пом ---
[ИНФО] Генерисање пројекта у батцх режиму
[ИНФО] ----------------------------------------------------------------------------
[ИНФО] Коришћење следећих параметара за креирање пројекта из Олд (1.к) Архетип:
мавен-архетипе-куицкстарт: 1.0
[ИНФО] ----------------------------------------------------------------------------
[ИНФО] Параметар: баседир, Вредност: / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнМавен
[ИНФО] Параметар: пакет, Вредност: цом.Име компаније.Здраво Свете
[ИНФО] Параметар: гроупИд, Вредност: цом.Име компаније.Здраво Свете
[ИНФО] Параметар: артифацтИд, Вредност: хелловорлд
[ИНФО] Параметар: пацкагеНаме, Валуе: цом.Име компаније.Здраво Свете
[ИНФО] Параметар: верзија, вредност: 1.0-СНАПСХОТ
[ИНФО] пројекат направљен од Олд (1.к) Архетип у режији: / Усерс / зак / _ворк /
ЛеарнБуилдСцриптс / ЛеарнМавен / хелловорлд
[ИНФО] ------------------------------------------------------------------------
[ИНФО] ГРАДИТИ УСПЕХ
[ИНФО] ------------------------------------------------------------------------
[ИНФО] Укупно време: 8.602 с
[ИНФО] Завршено у: 2018-01-27Т00: 05: 37-08: 00
[ИНФО] Коначна меморија: 15М / 152М
[ИНФО] ------------------------------------------------------------------------

Структура директоријума би требало да изгледа овако:

Здраво Свете
| - пом.кмл
'- срц
| - главни
|. | '- јава
|. | '- цом
|. | '-- Име компаније
|. | '-- Здраво Свете
|. | '-- Апликација.јава
'-- тест
'- јава
'- цом
'-- Име компаније
'-- Здраво Свете
'- АппТест.јава

Пом.кмл садржи конфигурације изградње. Унутар пом.кмл код изгледа овако:

кси: сцхемаЛоцатион = "хттп: // мавен.апацхе.орг / ПОМ / 4.0.0 хттп: // мавен.апацхе.орг / мавен-в4_0
_0.ксд ">
4.0.0
цом.Име компаније.Здраво Свете
Здраво Свете
тегла
1.0-СНАПСХОТ
Здраво Свете
хттп: // мавен.апацхе.орг


јунит
јунит
3.8.1
тест


Датотеку јар можете генерисати помоћу следеће наредбе:

$ мвн пакет
[ИНФО] Скенирање пројеката ..
[ИНФО]
[ИНФО] ------------------------------------------------------------------------
[ИНФО] Зграда хелловорлд 1.0-СНАПСХОТ
[ИНФО] ------------------------------------------------------------------------
[ИНФО]
[ИНФО] --- мавен-ресоурцес-плугин: 2.6: ресурси (подразумевани ресурси) @ хелловорлд ---
[УПОЗОРЕЊЕ] Коришћење кодирања платформе (заправо УТФ-8) за копирање филтрираних ресурса, тј.е.
буилд зависи од платформе!
[ИНФО] прескочите непостојећи ресоурцеДирецтори / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнМавен /
хелловорлд / срц / маин / ресоурцес
[ИНФО]
[ИНФО] --- додатак за мавен-цомпилер: 3.1: компајлирање (дефаулт-цомпиле) @ хелловорлд ---
[ИНФО] Откривене промене - поновно састављање модула!
[УПОЗОРЕЊЕ] Кодирање датотека није постављено, користећи кодирање платформе УТФ-8, тј.е. гради се
платформа зависна!
[ИНФО] Компајлирање 1 изворне датотеке у / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнМавен /
хелловорлд / таргет / цлассес
[ИНФО]
[ИНФО] --- мавен-ресоурцес-плугин: 2.6: тестРесоурцес (дефаулт-тестРесоурцес) @
Здраво Свете ---
[УПОЗОРЕЊЕ] Коришћење кодирања платформе (заправо УТФ-8) за копирање филтрираних ресурса, тј.е.
буилд зависи од платформе!
[ИНФО] прескочите непостојећи ресоурцеДирецтори / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнМавен /
хелловорлд / срц / тест / ресоурцес
[ИНФО]
[ИНФО] --- додатак за мавен-цомпилер: 3.1: тестЦомпиле (дефаулт-тестЦомпиле) @ хелловорлд ---
[ИНФО] Откривене промене - поновно састављање модула!
[УПОЗОРЕЊЕ] Кодирање датотека није постављено, користећи кодирање платформе УТФ-8, тј.е. гради се
платформа зависна!
[ИНФО] Компајлирање 1 изворне датотеке у / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнМавен
/ хелловорлд / таргет / тест-цлассес
[ИНФО]
[ИНФО] --- мавен-сурефире-плугин: 2.12.4: тест (задани тест) @ хелловорлд ---
[ИНФО] Директоријум извештаја Сурефире: / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнМавен
/ хелловорлд / таргет /
сигурни извештаји
-------------------------------------------------------
Т Е С Т С
-------------------------------------------------------
Руннинг цом.Име компаније.Здраво Свете.АппТест
Покренутих тестова: 1, неуспеха: 0, грешака: 0, прескочених: 0, протеклог времена: 0.014 сек
Резултати:
Извршених тестова: 1, неуспеха: 0, грешака: 0, прескочених: 0
[ИНФО]
[ИНФО] --- мавен-јар-плугин: 2.4: јар (дефаулт-јар) @ хелловорлд ---
[ИНФО] Израда јар: / Усерс / зак / _ворк / ЛеарнБуилдСцриптс / ЛеарнМавен / хелловорлд / таргет /
хелловорлд-1.0-СНАПСХОТ.тегла
[ИНФО] ------------------------------------------------------------------------
[ИНФО] ГРАДИТИ УСПЕХ
[ИНФО] ------------------------------------------------------------------------
[ИНФО] Укупно време: 5.624 с
[ИНФО] Завршено у: 2018-01-27Т00: 11: 10-08: 00
[ИНФО] Коначна меморија: 16М / 114М
[ИНФО] ------------------------------------------------------------------------

Датотеку јар можете покренути овако:

$ јава -цп таргет / хелловорлд-1.0-СНАПСХОТ.јар цом.Име компаније.Здраво Свете.Апликација
Здраво Свете!

Датотека јар се ставља у циљну фасциклу.

Градле

Градле комбинује снагу Ант-а и Мавена. Прва верзија Градле-а објављена је 2012. године. Брзо је усвојено. Гоогле га тренутно користи за Андроид ОС.

Уместо КСМЛ-а, Градле користи језик Гроови. Као резултат, скрипте за изградњу у Градле-у је лакше писати и читати. У почетку је користио Иви за управљање зависношћу, али сада користи сопствени механизам зависности.

Прос

Цонс

Пример Градле

Градле можете инсталирати одавде. Једном када поставите Градле на свој пут, можете га проверити тако што ћете:

$ градле --верзија
------------------------------------------------------------
Градле 4.5
------------------------------------------------------------
Време израде: 2018-01-24 17:04:52 УТЦ
Ревизија: 77д0ец90636ф43669дц794ца17еф80дд65457бец
Гроови: 2.4.12
Ант: Апацхе Ант (ТМ) верзија 1.9.9 састављен 02. фебруара 2017
ЈВМ: 1.8.0_74 (Орацле Цорпоратион 25.74-б02)
ОС: Мац ОС Кс 10.11.6 к86_64

Даље, креирајте следећу структуру директоријума:

Здраво Свете
| - буилд.градле
'- срц
| - главни
'- јава
'-- Здраво Свете
'-- Здраво Свете.јава

За свет хелловор.јава је ставила код из примера Ант. И за изградњу.градле ставите следећи код:

применити додатак: 'јава'
верзија = '1.0 '
репозиторијуми
мавенЦентрал ()

зависности
тестЦомпиле група: 'јунит', име: 'јунит', верзија: '4.12 '

Помоћу наредбе „градле таскс -алл“ можете погледати све доступне команде. Градле аутоматски преузима додатке које сте навели у изради.градле датотеку и приказује вам додатне задатке доступне због додатака.

Изградњу можете добити покретањем:

$ градле јар
ИЗГРАДИТИ УСПЕШНО за 1с
2 извршна задатка: 2 извршена

Можете покренути своју теглу овако:

$ јава -цп буилд / либс / хелловорлд-1.0.тегла хелловорлд
Здраво Свете!

Датотека јар се ставља у директоријум буилд / либс.

Закључак

Међу алаткама за изградњу, Ант може бити користан за мање пројекте, док је Мавен бољи за осигурање да сви програмери поштују иста правила. Градле је најновији алат који пружа највећу флексибилност.

Референце:

Како променити показивач миша и величину, боју и шему курсора на Виндовс 10
Показивач миша и курсор у оперативном систему Виндовс 10 су врло важни аспекти оперативног система. То се може рећи и за друге оперативне системе, так...
Бесплатни и отворени кодни покретачки програми за развој Линук игара
Овај чланак ће обухватити листу бесплатних покретача игара отвореног кода који се могу користити за развој 2Д и 3Д игара на Линуку. Бројни су такви мо...
Водич за сенку Томб Раидера за Линук
Схадов оф тхе Томб Раидер је дванаести додатак серији Томб Раидер - акцијско-авантуристичкој игри коју је створио Еидос Монтреал. И критичари и фанови...