{"id":32476,"date":"2019-10-31T21:47:17","date_gmt":"2019-10-31T18:47:17","guid":{"rendered":"https:\/\/prohoster.info\/blog\/opyt-ispolzovaniya-flatten-maven-plugin-dlya-uproshheniya-versionirovaniya-v-maven-proektah\/"},"modified":"2019-10-31T21:47:17","modified_gmt":"2019-10-31T18:47:17","slug":"opyt-ispolzovaniya-flatten-maven-plugin-dlya-uproshheniya-versionirovaniya-v-maven-proektah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/opyt-ispolzovaniya-flatten-maven-plugin-dlya-uproshheniya-versionirovaniya-v-maven-proektah","title":{"rendered":"P\u00ebrvoja e p\u00ebrdorimit t\u00eb flatten-maven-plugin p\u00ebr thjeshtimin e versionimit n\u00eb projektet maven","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h4>Rreth nesh<\/h4>\n<p>\nN\u00eb 1C ne zhvillojm\u00eb jo vet\u00ebm platform\u00ebn <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1c\/blog\/269611\/\">1C: Nd\u00ebrmarrja<\/a><\/noindex> n\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1c\/blog\/429678\/\">C++<\/a><\/noindex> dhe <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1c\/blog\/315414\/\">JavaScript<\/a><\/noindex>, por edhe aplikacione n\u00eb Java \u2013 ve\u00e7an\u00ebrisht nj\u00eb ambient t\u00eb ri zhvillimi <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1c\/blog\/323508\/\">Mjetet p\u00ebr Zhvillimin e Nd\u00ebrmarrjeve<\/a><\/noindex> t\u00eb bazuara n\u00eb Eclipse dhe serveri i integruar thell\u00ebsisht me platform\u00ebn e mesazheve \u2013 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1c\/blog\/422903\/\">Sistemet e Nd\u00ebrveprimit<\/a><\/noindex>.<\/p>\n<h4>Hyrje<\/h4>\n<p>\nSi nj\u00eb sistem nd\u00ebrtimi p\u00ebr aplikacionet Java, shpesh p\u00ebrdorim maven, dhe n\u00eb k\u00ebt\u00eb artikull t\u00eb vog\u00ebl do t\u00eb d\u00ebshirojm\u00eb t\u00eb flasim p\u00ebr nj\u00eb nga problemet me t\u00eb cilat u p\u00ebrball\u00ebm gjat\u00eb organizimit t\u00eb zhvillimit, dhe p\u00ebr qasjen q\u00eb na lejoi ta kap\u00ebrcejm\u00eb k\u00ebt\u00eb problem.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Parakushtet dhe Procesi i Pun\u00ebs<\/h4>\n<p>\nP\u00ebr shkak t\u00eb specifik\u00ebs s\u00eb zhvillimit n\u00eb projektet tona maven, ne p\u00ebrdorim nj\u00eb num\u00ebr t\u00eb madh moduli, var\u00ebsish dhe projekte n\u00ebnprojekte. Numri i skedave pom n\u00eb nj\u00eb pem\u00eb mund t\u00eb num\u00ebrohet n\u00eb dhjet\u00ebra dhe madje n\u00eb qindra.<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrvoja e p\u00ebrdorimit t\u00eb flatten-maven-plugin p\u00ebr thjeshtimin e versionimit n\u00eb projektet maven\" src=\"\/wp-content\/uploads\/2019\/04\/60eddb63fb9bd58eda2edc890e2f771f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDuket se: nuk ka asgj\u00eb t\u00eb keqe, nj\u00eb her\u00eb e krijuam dhe e harrojm\u00eb. N\u00ebse duhet t\u00eb ndryshojm\u00eb ose t\u00eb shtojm\u00eb di\u00e7ka n\u00eb t\u00eb gjitha skedat menj\u00ebher\u00eb, ekzistojn\u00eb shum\u00eb mjete t\u00eb p\u00ebrshtatshme n\u00eb redaktues dhe IDE. Dhe cila \u00ebsht\u00eb ndryshimi m\u00eb i zakonsh\u00ebm i rregullt i pom.xml? Mendojm\u00eb se ndryshimi i versioneve t\u00eb projektit dhe var\u00ebsive. Ndoshta dikush do t\u00eb d\u00ebshiroj\u00eb t\u00eb diskutoj\u00eb p\u00ebr k\u00ebt\u00eb, por kjo \u00ebsht\u00eb situata jon\u00eb. Arsyeja q\u00ebndron n\u00eb faktin se, p\u00ebrve\u00e7 thelbit, ne parallelisht zhvillojm\u00eb shum\u00eb biblioteka t\u00eb veta dhe p\u00ebr t\u00eb ruajtur vazhdim\u00ebsin\u00eb e rezultateve t\u00eb nd\u00ebrtimit dhe testimit, p\u00ebrdorimi i snapshot-\u00ebve nuk na duket si nj\u00eb qasje e p\u00ebrshtatshme. Prandaj, na duhet t\u00eb rrisim numrin e versionit n\u00eb projekte me \u00e7do nd\u00ebrtim.<\/p>\n<p>Gjithashtu, her\u00eb pas here zhvilluesi ka nevoj\u00eb t\u00eb nd\u00ebrtoj\u00eb deg\u00ebn e vet t\u00eb ndonj\u00eb biblioteke dhe t\u00eb kontrolloj\u00eb funksionalitetin e saj n\u00eb t\u00eb gjitha var\u00ebsit\u00eb, p\u00ebr \u00e7far\u00eb n\u00eb t\u00eb gjitha ato duhet t\u00eb ndryshoj\u00eb manualisht versionin.<\/p>\n<h4>Zgjidhja Fillestare<\/h4>\n<p>\nMe kaq ndryshime t\u00eb shpeshta dhe shum\u00ebfishe t\u00eb versioneve, d\u00ebshirojm\u00eb ta thjeshtojm\u00eb dhe automatizojm\u00eb procesin brenda CI. K\u00ebtu vjen n\u00eb ndihm\u00eb nj\u00eb plugin i njohur dhe i p\u00ebrshtatsh\u00ebm <i>versions-maven-plugin<\/i> \u2014 e lidhim dhe e ekzekutojm\u00eb <\/p>\n<p><i>mvn -N versions:set -DnewVersion=2.0.1 <\/i><\/p>\n<p>dhe maven do t\u00eb b\u00ebj\u00eb gjith\u00e7ka si\u00e7 duhet: do t\u00eb kaloj\u00eb nga maja deri n\u00eb fund, do t\u00eb z\u00ebvend\u00ebsoj\u00eb t\u00eb gjitha versionet \u2013 bukuri! Tani mbetet t\u00eb hapim nj\u00eb pull-request, koleg\u00ebt do t'i shqyrtojn\u00eb ndryshimet, dhe mund t\u00eb futemi shpejt n\u00eb trunk. Shpejt? Jo kaq shpejt. Nj\u00eb t\u00ebr\u00ebsi e rreth disa qindra <i>pom.xml<\/i> n\u00eb rishikim, dhe kjo nuk p\u00ebrfshin kodin. P\u00ebrve\u00e7 k\u00ebsaj, askush nuk \u00ebsht\u00eb i mbrojtur nga konflikte t\u00eb bashkimit me nj\u00eb num\u00ebr t\u00eb till\u00eb t\u00eb modifikuar skedash. K\u00ebtu duhet t\u00eb theksohet se n\u00eb procesin CI, ndryshimet e versioneve ndodhin automatikisht s\u00eb bashku me ndryshimin e funksionalitetit, dhe jo ndaras.<\/p>\n<h4>Mund\u00ebsi t\u00eb reja<\/h4>\n<p>\nP\u00ebr nj\u00eb koh\u00eb ne u qet\u00ebsuam dhe, duke u pajtuar, k\u00ebshtu jetuam, derisa djemt\u00eb nga <noindex><a rel=\"nofollow\" href=\"http:\/\/maven.apache.org\/\">Maven Apache Project<\/a><\/noindex> nuk p\u00ebrfshin\u00eb n\u00eb maven, duke filluar nga versioni 3.5.0-beta-1, mb\u00ebshtetje p\u00ebr at\u00eb q\u00eb quhet \u201ez\u00ebvend\u00ebsues\u201d versionesh (placeholders). Esenca e k\u00ebtyre z\u00ebvend\u00ebsuesve \u00ebsht\u00eb se n\u00eb <i>pom.xml<\/i> n\u00eb vend t\u00eb tregimit t\u00eb sakt\u00eb t\u00eb versionit t\u00eb projektit, p\u00ebrdoren variabla <i>${revision}<\/i>, <i>${sha1}<\/i> dhe <i>${changelist}.<\/i>Vlerat e k\u00ebtyre pronave jan\u00eb caktuar ose n\u00eb elementin &lt;<i>propertietet<\/i>&gt; ose mund t\u00eb p\u00ebrcaktohen p\u00ebrmes pron\u00ebs sistemike<\/p>\n<p><i>mvn -Drevision=2.0.0 clean package<\/i><\/p>\n<p>Vlerat e pronave sistemike kan\u00eb p\u00ebrpar\u00ebsi p\u00ebrpara atyre t\u00eb caktuara n\u00eb &lt;<i>propertietet<\/i>&gt;.<\/p>\n<p><i><b>Prind<\/b><br \/>\n&lt;project&gt;<br \/>\n\u00a0\u00a04.0.0<br \/>\n\u00a0\u00a0&lt;parent&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0org.apache<br \/>\n\u00a0\u00a0\u00a0\u00a0apache<br \/>\n\u00a0\u00a0\u00a0\u00a018<br \/>\n\u00a0\u00a0&lt;\/parent&gt;<br \/>\n\u00a0\u00a0org.apache.maven.ci<br \/>\n\u00a0\u00a0ci-parent<br \/>\n\u00a0\u00a0Prindi i Par\u00eb CI<br \/>\n\u00a0\u00a0&lt;version&gt;<b>${revision}${sha1}${changelist}<\/b>&lt;\/version&gt;<br \/>\n\u00a0\u00a0\u2026<br \/>\n\u00a0\u00a0&lt;properties&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0<b>&lt;revision&gt;<\/b>1.3.1<b>&lt;\/revision&gt;<\/b><br \/>\n\u00a0\u00a0\u00a0\u00a0<b>&lt;changelist&gt;<\/b>-SNAPSHOT<b>&lt;\/changelist&gt;<\/b><br \/>\n\u00a0\u00a0\u00a0\u00a0<b>&lt;sha1\/&gt;<\/b><br \/>\n\u00a0\u00a0&lt;\/properties&gt;<br \/>\n&lt;\/project&gt;<br \/>\n<\/i><br \/>\n<i><b>Pasardh\u00ebs<\/b><br \/>\n&lt;project&gt;<br \/>\n\u00a0\u00a04.0.0<br \/>\n\u00a0\u00a0&lt;parent&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0org.apache.maven.ci<br \/>\n\u00a0\u00a0\u00a0\u00a0ci-parent<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;version&gt;<b>${revision}${sha1}${changelist}<\/b>&lt;\/version&gt;<br \/>\n\u00a0\u00a0&lt;\/parent&gt;<br \/>\n\u00a0\u00a0org.apache.maven.ci<br \/>\n\u00a0\u00a0ci-child<br \/>\n\u00a0\u00a0\u00a0\u2026<br \/>\n&lt;\/project&gt;<br \/>\n<\/i><\/p>\n<p>N\u00ebse d\u00ebshirojm\u00eb t\u00eb nd\u00ebrtojm\u00eb versionin 2.0.0-SNAPSHOT, thjesht p\u00ebrdorim <\/p>\n<p><i>\u00a0\u00a0\u00a0\u00a0mvn -Drevision=2.0.0 clean package<\/i><\/p>\n<p>N\u00ebse d\u00ebshirojm\u00eb t\u00eb b\u00ebjm\u00eb nj\u00eb lansim, thjesht e fshijm\u00eb SNAPSHOT <\/p>\n<p><i>\u00a0\u00a0\u00a0\u00a0mvn -Dchangelist= clean package<\/i><\/p>\n<p>*P\u00ebr shembujt e m\u00ebsip\u00ebrm jan\u00eb marr\u00eb nga <noindex><a rel=\"nofollow\" href=\"https:\/\/maven.apache.org\/maven-ci-friendly.html\">artikullit<\/a><\/noindex> n\u00eb faqen e internetit t\u00eb Maven Apache Project<\/p>\n<h4>Realiteti i Ashp\u00ebr<\/h4>\n<p>\nGjith\u00e7ka \u00ebsht\u00eb mir\u00eb dhe e sh\u00ebndetshme, \u00ebsht\u00eb koha t\u00eb p\u00ebrjetosh k\u00ebnaq\u00ebsin\u00eb, por jo. Duket se, p\u00ebr install dhe deploy kjo metod\u00eb nuk do t\u00eb funksionoj\u00eb, pasi n\u00eb p\u00ebrshkrimet e artefakteve q\u00eb publikohen n\u00eb repozitor do t\u00eb zbulohet <i>${revision}<\/i> n\u00eb vler\u00ebn e saj dhe maven nuk do t\u00eb kuptoj\u00eb m\u00eb se p\u00ebr \u00e7far\u00eb b\u00ebhet fjal\u00eb.<\/p>\n<p><i>&lt;parent&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0org.apache<br \/>\n\u00a0\u00a0\u00a0\u00a0apache<br \/>\n\u00a0\u00a0\u00a0\u00a0${revision}<br \/>\n&lt;\/parent&gt;<br \/>\n<\/i><\/p>\n<h4>Drita n\u00eb fund t\u00eb tunelit<\/h4>\n<p>\nDuhet t\u00eb gjejm\u00eb zgjidhjen e problemit. Situat\u00ebn mund ta shp\u00ebtonte <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mojohaus.org\/flatten-maven-plugin\/\">flatten-maven-plugin<\/a><\/noindex>. Ky ky plugin lejon t\u00eb gjitha variablat n\u00eb pom, por gjithashtu heq shum\u00eb informacione t\u00eb tjera q\u00eb jan\u00eb t\u00eb nevojshme vet\u00ebm gjat\u00eb nd\u00ebrtimit dhe nuk jan\u00eb t\u00eb nevojshme kur importohen artefaktet e publikuara n\u00eb projekte t\u00eb tjera. Gjithashtu, plugin-i \"shkallzon\" t\u00eb gjitha var\u00ebsit\u00eb parent-child, dhe p\u00ebrfundimisht ka pom t\u00eb shesht\u00eb, duke p\u00ebrfshir\u00eb gjith\u00e7ka q\u00eb \u00ebsht\u00eb e nevojshme. Problemi ishte se ai heq \"t\u00eb tep\u00ebrt\" shum\u00eb, gj\u00eb q\u00eb nuk na p\u00ebrshtatet aspak. Pasi studiuam informacionin p\u00ebr zhvillimin e k\u00ebtij plugin-i, u zbulua se nuk ishim vet\u00ebm n\u00eb k\u00ebt\u00eb univers, dhe q\u00eb n\u00eb gusht 2018 n\u00eb Github n\u00eb depunimin e plugin-it u krijua nj\u00eb pull-request me d\u00ebshir\u00ebn p\u00ebr t\u00eb b\u00ebr\u00eb t\u00eb mundur q\u00eb t\u00eb p\u00ebrcaktohej vet\u00eb se si duhej \"prishur\" pom.xml. Zhvilluesit i d\u00ebgjuan z\u00ebrat e nevojtar\u00ebve, dhe n\u00eb dhjetor, me daljen e versionit t\u00eb ri 1.1.0, n\u00eb flatten-maven-plugin u shfaq nj\u00eb modifikuar i ri resolveCiFriendliesOnly, i cili ishte m\u00eb i nevojsh\u00ebm se kurr\u00eb \u2013 ai e la pom.xml ashtu si\u00e7 ishte, p\u00ebrve\u00e7 elementit <i>&lt;version&gt;<\/i> dhe lejon <i>${revision}<\/i>, <i>${sha1}<\/i> dhe <i>${changelist}.<\/i>.<\/p>\n<p>Shtojm\u00eb plugin-in n\u00eb projekt<\/p>\n<p><i>&lt;plugins&gt;<br \/>\n\u00a0\u00a0&lt;plugin&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;groupId&gt;org.codehaus.mojo&lt;\/groupId&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;artifactId&gt;flatten-maven-plugin&lt;\/artifactId&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;version&gt;1.1.0&lt;\/version&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;configuration&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;updatePomFile&gt;true&lt;\/updatePomFile&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;flattenMode&gt;<b>resolveCiFriendliesOnly<\/b>&lt;\/flattenMode&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;\/configuration&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;executions&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;execution&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;id&gt;flatten&lt;\/id&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;phase&gt;process-resources&lt;\/phase&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;goals&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;goal&gt;flatten&lt;\/goal&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/goals&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/execution&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;execution&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;id&gt;flatten.clean&lt;\/id&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;phase&gt;clean&lt;\/phase&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;goals&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;goal&gt;clean&lt;\/goal&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/goals&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/execution&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;\/executions&gt;<br \/>\n\u00a0\u00a0&lt;\/plugin&gt;<br \/>\n&lt;\/plugins&gt;<br \/>\n<\/i><\/p>\n<p>Gati!<\/p>\n<h4>Happy end<\/h4>\n<p>\nQ\u00eb nga tani, p\u00ebr t\u00eb ndryshuar versionin e t\u00ebr\u00eb projektit dhe p\u00ebr t'u b\u00ebr\u00eb me dije p\u00ebr k\u00ebt\u00eb t\u00eb gjitha var\u00ebsit\u00eb, na nevojitet vet\u00ebm t\u00eb redaktojm\u00eb elementin &lt;<i>revision<\/i>&gt; n\u00eb vet\u00ebm nj\u00eb rr\u00ebnj\u00eb <i>pom.xml<\/i>. N\u00eb rivler\u00ebsim, nuk vjen nj\u00ebqind ose dyqind nga k\u00ebto skedar\u00eb me ndryshim t\u00eb nj\u00ebjt\u00eb, por nj\u00eb. Po ashtu, bien n\u00eb p\u00ebrdorim <i>versions-maven-plugin<\/i>.<br \/>\n<br \/>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1c\/blog\/449172\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041e \u043d\u0430\u0441 \u0412 1\u0421 \u043c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 1\u0421: \u041f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0435 \u043d\u0430 \u0421++ \u0438 JavaScript, \u043d\u043e \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Java \u2013 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043d\u043e\u0432\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Enterprise Development Tools \u043d\u0430 \u0431\u0430\u0437\u0435 Eclipse \u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u0430 \u2013 \u0421\u0438\u0441\u0442\u0435\u043c\u044b \u0412\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0431\u043e\u0440\u043a\u0438 Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c maven, \u0438 \u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":24280,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-32476","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.0.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041e \u043d\u0430\u0441 \u0412 1\u0421 \u043c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 1\u0421: \u041f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0435 \u043d\u0430 \u0421++ \u0438 JavaScript, \u043d\u043e \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Java \u2013 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043d\u043e\u0432\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Enterprise Development Tools \u043d\u0430 \u0431\u0430\u0437\u0435 Eclipse \u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u0430 \u2013 \u0421\u0438\u0441\u0442\u0435\u043c\u044b \u0412\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0431\u043e\u0440\u043a\u0438 Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c maven, \u0438 \u0432\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/opyt-ispolzovaniya-flatten-maven-plugin-dlya-uproshheniya-versionirovaniya-v-maven-proektah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.0.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u044b\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f flatten-maven-plugin \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 maven-\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041e \u043d\u0430\u0441 \u0412 1\u0421 \u043c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 1\u0421: \u041f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0435 \u043d\u0430 \u0421++ \u0438 JavaScript, \u043d\u043e \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Java \u2013 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043d\u043e\u0432\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Enterprise Development Tools \u043d\u0430 \u0431\u0430\u0437\u0435 Eclipse \u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u0430 \u2013 \u0421\u0438\u0441\u0442\u0435\u043c\u044b \u0412\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0431\u043e\u0440\u043a\u0438 Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c maven, \u0438 \u0432\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/opyt-ispolzovaniya-flatten-maven-plugin-dlya-uproshheniya-versionirovaniya-v-maven-proektah\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:47:17+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:47:17+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Eksperienc\u00eb e p\u00ebrdorimit t\u00eb flatten-maven-plugin p\u00ebr thjeshtimin e versionimit n\u00eb projektet maven | ProHoster","description":"Rreth Nesh N\u00eb 1C ne zhvillojm\u00eb jo vet\u00ebm platform\u00ebn 1C: Enterprise n\u00eb C++ dhe JavaScript, por edhe aplikacione n\u00eb Java \u2013 ve\u00e7an\u00ebrisht nj\u00eb ambient t\u00eb ri zhvillimi Enterprise Development Tools mbi Eclipse dhe nj\u00eb server t\u00eb thell\u00eb t\u00eb integruar me platform\u00ebn e mesazheve \u2013 Sistemin e Bashk\u00ebpunimit. Hyrje Si nj\u00eb sistem nd\u00ebrtimi p\u00ebr aplikacionet Java, shpesh p\u00ebrdorim maven, dhe n\u00eb","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/opyt-ispolzovaniya-flatten-maven-plugin-dlya-uproshheniya-versionirovaniya-v-maven-proektah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u044b\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f flatten-maven-plugin \u0434\u043b\u044f \u0443\u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f \u0432\u0435\u0440\u0441\u0438\u043e\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 maven-\u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 | ProHoster","og:description":"\u041e \u043d\u0430\u0441 \u0412 1\u0421 \u043c\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u043c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 1\u0421: \u041f\u0440\u0435\u0434\u043f\u0440\u0438\u044f\u0442\u0438\u0435 \u043d\u0430 \u0421++ \u0438 JavaScript, \u043d\u043e \u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Java \u2013 \u0432 \u0447\u0430\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u043d\u043e\u0432\u0443\u044e \u0441\u0440\u0435\u0434\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 Enterprise Development Tools \u043d\u0430 \u0431\u0430\u0437\u0435 Eclipse \u0438 \u0441\u0435\u0440\u0432\u0435\u0440 \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u0441 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u043e\u0439 \u043c\u0435\u0441\u0441\u0435\u043d\u0434\u0436\u0435\u0440\u0430 \u2013 \u0421\u0438\u0441\u0442\u0435\u043c\u044b \u0412\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f. \u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0441\u0431\u043e\u0440\u043a\u0438 Java-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0447\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u043c\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c maven, \u0438 \u0432","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/opyt-ispolzovaniya-flatten-maven-plugin-dlya-uproshheniya-versionirovaniya-v-maven-proektah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:47:17+00:00","article:modified_time":"2019-10-31T18:47:17+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"32476","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 11:03:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:58:23","updated":"2026-01-21 11:03:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/32476","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=32476"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/32476\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/24280"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=32476"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=32476"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=32476"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}