{"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 t\u00eb thjeshtuar versionimin n\u00eb projektet maven","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<h4>N\u00eb lidhje me ne<\/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 n\u00eb ve\u00e7anti ambientin e ri t\u00eb zhvillimit <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/1c\/blog\/323508\/\">Mjete t\u00eb Zhvillimit t\u00eb Nd\u00ebrmarrjeve<\/a><\/noindex> t\u00eb bazuara n\u00eb Eclipse dhe nj\u00eb server i thell\u00eb e i integruar 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 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 doja t\u00eb flisja p\u00ebr nj\u00eb nga problemet q\u00eb na \u00ebsht\u00eb dashur t\u00eb p\u00ebrballeshim gjat\u00eb organizimit t\u00eb zhvillimit dhe p\u00ebr qasjen q\u00eb na ndihmoi ta zgjidhnim k\u00ebt\u00eb problem.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Premisat dhe procesi i pun\u00ebs<\/h4>\n<p>\nP\u00ebr shkak t\u00eb specifik\u00ebs s\u00eb zhvillimit n\u00eb projektet tona maven p\u00ebrdorim nj\u00eb num\u00ebr t\u00eb konsideruesh\u00ebm modulash, var\u00ebsish dhe projekteve t\u00eb n\u00ebnshkruara. Numri i skedar\u00ebve pom n\u00eb nj\u00eb pem\u00eb mund t\u00eb llogaritet n\u00eb dhjet\u00ebra, madje edhe n\u00eb qindra.<\/p>\n<p><img decoding=\"async\" alt=\"P\u00ebrvoja e p\u00ebrdorimit t\u00eb flatten-maven-plugin p\u00ebr t\u00eb thjeshtuar versionimin 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 harroi. N\u00ebse duhet t\u00eb ndryshojm\u00eb ose t\u00eb shtojm\u00eb di\u00e7ka n\u00eb t\u00eb gjitha skedar\u00ebt menj\u00ebher\u00eb, ekzistojn\u00eb shum\u00eb mjete t\u00eb p\u00ebrshtatshme n\u00eb redaktor\u00eb dhe IDE. Por cili \u00ebsht\u00eb ndryshimi m\u00eb i zakonsh\u00ebm i p\u00ebrhersh\u00ebm n\u00eb pom.xml? Mendojm\u00eb se \u00ebsht\u00eb ndryshimi i versioneve t\u00eb projekteve dhe var\u00ebsive. Ndoshta dikush do t\u00eb d\u00ebshironin t\u00eb kund\u00ebrshtonin k\u00ebt\u00eb, por k\u00ebshtu kemi pun\u00ebt. Arsyeja \u00ebsht\u00eb se p\u00ebrve\u00e7 b\u00ebrtham\u00ebs ne paralelisht zhvillojm\u00eb shum\u00eb biblioteka t\u00eb veta, dhe p\u00ebr t\u00eb siguruar rigjenerueshm\u00ebri t\u00eb vazhdueshme t\u00eb rezultateve t\u00eb nd\u00ebrtimit dhe testimit, p\u00ebrdorimi i snapshot-\u00ebve nuk na duket nj\u00eb qasje e p\u00ebrshtatshme. P\u00ebr k\u00ebt\u00eb arsye, na duhen t\u00eb rrisim numrin e versionit n\u00eb projekte me \u00e7do nd\u00ebrtim.<\/p>\n<p>Po ashtu, ndonj\u00ebher\u00eb zhvilluesi ka nevoj\u00eb t\u00eb nd\u00ebrtoj\u00eb depon e tij t\u00eb nj\u00eb biblioteke dhe ta testoj\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 ndryshojm\u00eb manualisht versionin.<\/p>\n<h4>Zgjidhja fillestare<\/h4>\n<p>\nMe kaq shpesh dhe shum\u00eb ndryshime versioni, procesi n\u00eb kuad\u00ebr t\u00eb CI d\u00ebshiron t\u00eb thjeshtohet dhe automatizohet. K\u00ebtu ndihmon nj\u00eb plugin i njohur dhe i p\u00ebrshtatsh\u00ebm <i>versions-maven-plugin<\/i> \u2014 e lidhim dhe e fillojm\u00eb <\/p>\n<p><i>mvn -N versions:set -DnewVersion=2.0.1 <\/i><\/p>\n<p>dhe maven do ta b\u00ebj\u00eb gjith\u00e7ka si\u00e7 duhet: do t\u00eb kaloj\u00eb n\u00ebp\u00ebr hierarkin\u00eb nga lart deri posht\u00eb, do t\u00eb z\u00ebvend\u00ebsoj\u00eb t\u00eb gjitha versionet \u2013 bukuri! Tani mbetet t\u00eb rrisim nj\u00eb pull-request, koleg\u00ebt do ta shqyrtojn\u00eb ndryshimin dhe mund t\u00eb futemi shpejt n\u00eb trunk. Shpejt? Si\u00e7 duket jo. Nj\u00eb ose dyqind <i>pom.xml<\/i> n\u00eb shqyrtim, dhe kjo nuk p\u00ebrfshin kodin. P\u00ebrve\u00e7 k\u00ebsaj, askush nuk \u00ebsht\u00eb i sigurt nga konfliktet e bashkimit kur ka kaq shum\u00eb skedar\u00eb t\u00eb ndryshuar. Duhet t\u00eb theksohet se gjat\u00eb procesit t\u00eb CI, ndryshimet e versioneve ndodhin automatikisht s\u00eb bashku me ndryshimin e funksionalitetit, e jo ndaras.<\/p>\n<h4>Ve\u00e7orit\u00eb e reja<\/h4>\n<p>\nP\u00ebr nj\u00eb koh\u00eb, ne u qet\u00ebsuam dhe, pasivizuar, ashtu jetuam, derisa djemt\u00eb nga <noindex><a rel=\"nofollow\" href=\"http:\/\/maven.apache.org\/\">Projekti Apache Maven<\/a><\/noindex> n\u00eb p\u00ebrfshin\u00eb n\u00eb maven, duke filluar nga versioni 3.5.0-beta-1, mb\u00ebshtetje p\u00ebr \"zamjen\" e ashtuquajtur t\u00eb versioneve (placeholders). Q\u00ebllimi i k\u00ebtyre z\u00ebvend\u00ebsuesve \u00ebsht\u00eb se n\u00eb <i>pom.xml<\/i> n\u00eb vend t\u00eb nj\u00eb p\u00ebrcaktimi konkret t\u00eb versionit t\u00eb projektit, p\u00ebrdoren variablat <i>${revision}<\/i>, <i>${sha1}<\/i> dhe <i>${changelist}<\/i>. Vlerat e k\u00ebtyre pronave p\u00ebrcaktohen ose n\u00eb elementin &lt;<i>properties<\/i>&gt;, ose mund t\u00eb definohen p\u00ebrmes pron\u00ebs sistemike<\/p>\n<p><i>mvn -Drevision=2.0.0 clean package<\/i><\/p>\n<p>Vlerat e pronunciave sistemike kan\u00eb p\u00ebrpar\u00ebsi mbi vlerat e p\u00ebrcaktuara n\u00eb &lt;<i>properties<\/i>&gt;.<\/p>\n<p><i><b>Prind<\/b><br \/>\n&lt;project&gt;<br \/>\n\u00a0\u00a0&lt;modelVersion&gt;4.0.0&lt;\\\/modelVersion&gt;<br \/>\n\u00a0\u00a0&lt;parent&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;groupId&gt;org.apache&lt;\\\/groupId&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;artifactId&gt;apache&lt;\\\/artifactId&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;version&gt;18&lt;\\\/version&gt;<br \/>\n\u00a0\u00a0&lt;\\\/parent&gt;<br \/>\n\u00a0\u00a0&lt;groupId&gt;org.apache.maven.ci&lt;\\\/groupId&gt;<br \/>\n\u00a0\u00a0&lt;artifactId&gt;ci-parent&lt;\\\/artifactId&gt;<br \/>\n\u00a0\u00a0&lt;name&gt;CI i Par\u00eb i Miq\u00ebsor&lt;\\\/name&gt;<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\u00a0&lt;modelVersion&gt;4.0.0&lt;\\\/modelVersion&gt;<br \/>\n\u00a0\u00a0&lt;parent&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;groupId&gt;org.apache.maven.ci&lt;\\\/groupId&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;artifactId&gt;ci-parent&lt;\\\/artifactId&gt;<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\u00a0&lt;groupId&gt;org.apache.maven.ci&lt;\\\/groupId&gt;<br \/>\n\u00a0\u00a0&lt;artifactId&gt;ci-child&lt;\\\/artifactId&gt;<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 duam t\u00eb b\u00ebjm\u00eb nj\u00eb l\u00ebshim, thjesht e zerojm\u00eb SNAPSHOT <\/p>\n<p><i>\u00a0\u00a0\u00a0\u00a0mvn -Dchangelist= clean package<\/i><\/p>\n<p>*Shembujt e m\u00ebsip\u00ebrm jan\u00eb marr\u00eb nga <noindex><a rel=\"nofollow\" href=\"https:\/\/maven.apache.org\/maven-ci-friendly.html\">artikulli<\/a><\/noindex> n\u00eb faqen e internetit t\u00eb Projektit Maven Apache<\/p>\n<h4>Realiteti i ashp\u00ebr<\/h4>\n<p>\n\u00c7do gj\u00eb \u00ebsht\u00eb mir\u00eb dhe e bukur, \u00ebsht\u00eb koha p\u00ebr t\u00eb provuar ndjenj\u00ebn e k\u00ebnaq\u00ebsis\u00eb, por jo. Dukesh se p\u00ebr install dhe deploy ky m\u00ebnyr\u00eb nuk do t\u00eb funksionoj\u00eb, pasi n\u00eb p\u00ebrshkrimet q\u00eb publikohen n\u00eb repozitorin\u00eb e artefakteve nuk do t\u00eb z\u00ebvend\u00ebsohet <i>${revision}<\/i> me vler\u00ebn e saj, dhe maven nuk do ta kuptoj\u00eb se p\u00ebr \u00e7far\u00eb \u00ebsht\u00eb fjala.<\/p>\n<p><i>&lt;parent&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;groupId&gt;org.apache&lt;\\\/groupId&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;artifactId&gt;apache&lt;\\\/artifactId&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;version&gt;${revision}&lt;\\\/version&gt;<br \/>\n&lt;\\\/parent&gt;<br \/>\n<\/i><\/p>\n<h4>Drita n\u00eb fund t\u00eb tunelit<\/h4>\n<p>\nDuhet t\u00eb k\u00ebrkojm\u00eb nj\u00eb zgjidhje p\u00ebr problemin. Situat\u00ebn do ta kishte shp\u00ebtuar <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mojohaus.org\/flatten-maven-plugin\/\">flatten-maven-plugin<\/a><\/noindex>. Ky ky\u00e7 \u00ebsht\u00eb t'i lejojn\u00eb t\u00eb gjitha variablat n\u00eb pom, por gjithashtu heq shum\u00eb informacione t\u00eb tjera, t\u00eb cilat jan\u00eb t\u00eb nevojshme vet\u00ebm gjat\u00eb nd\u00ebrtimit dhe nuk jan\u00eb t\u00eb nevojshme p\u00ebr importimin e artefakteve t\u00eb publikuara n\u00eb projekte t\u00eb tjera. Gjithashtu, ky plugin \"shkall\u00ebzon\" t\u00eb gjitha var\u00ebsit\u00eb n\u00ebn\u00eb-prind, dhe si rezultat kemi pom t\u00eb shesht\u00eb, q\u00eb p\u00ebrfshijn\u00eb gjith\u00e7ka q\u00eb na nevojitet. Sfidat q\u00ebndronin n\u00eb faktin se ai heq \"t\u00eb tep\u00ebrt\", shum\u00eb q\u00eb nuk na p\u00eblqente. Pasi hulumtuam informacionin mbi zhvillimin e k\u00ebtij plugin-i, zbulonim se nuk ishim t\u00eb vetmit n\u00eb univers, dhe gjithashtu n\u00eb gusht 2018 n\u00eb GitHub, n\u00eb depozit\u00ebn e plugin-it ishte krijuar nj\u00eb pull-request me d\u00ebshir\u00ebn p\u00ebr t\u00eb b\u00ebr\u00eb t\u00eb mundur p\u00ebrcaktimin e m\u00ebnyr\u00ebs se si duhet \"prishur\" pom.xml. Zhvilluesit u d\u00ebgjuan nga z\u00ebra t\u00eb d\u00ebshp\u00ebruar, dhe tashm\u00eb n\u00eb dhjetor, me daljen e versionit t\u00eb ri 1.1.0, n\u00eb flatten-maven-plugin u shfaq nj\u00eb modalitet i ri resolveCiFriendliesOnly, i cili \u00ebsht\u00eb m\u00eb se i p\u00ebrshtatsh\u00ebm \u2013 ai e l\u00eb pom.xml si\u00e7 \u00ebsht\u00eb, p\u00ebrve\u00e7 elementit <i>&lt;version&gt;<\/i> dhe lejon <i>${revision}<\/i>, <i>${sha1}<\/i> dhe <i>${changelist}<\/i>.<\/p>\n<p>Shto plugin n\u00eb projekt<\/p>\n<p><i>&lt;plugins&gt;<br \/>\n\u00a0\u00a0&lt;plugin&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0org.codehaus.mojo<br \/>\n\u00a0\u00a0\u00a0\u00a0flatten-maven-plugin<br \/>\n\u00a0\u00a0\u00a0\u00a01.1.0<br \/>\n\u00a0\u00a0\u00a0\u00a0&lt;configuration&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0true<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\u00a0flatten<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0process-resources<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;goals&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0flatten<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\u00a0flatten.clean<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0clean<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;goals&gt;<br \/>\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0clean<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>P\u00ebrfundimi i lumtur<\/h4>\n<p>\nTanime, p\u00ebr t\u00eb ndryshuar versionin e gjith\u00eb projektit dhe p\u00ebr t\u00eb njoftuar t\u00eb gjitha var\u00ebsit\u00eb p\u00ebr k\u00ebt\u00eb, na nevojitet vet\u00ebm t\u00eb redaktojm\u00eb elementin &lt;<i>revision<\/i>&gt; n\u00eb vet\u00ebm nj\u00eb n\u00eb rr\u00ebnj\u00ebn <i>pom.xml<\/i>. N\u00eb revist\u00eb nuk arrin nj\u00eb qind apo dyqind nga k\u00ebto skedar\u00eb me t\u00eb nj\u00ebjtin ndryshim, por nj\u00eb. Dhe gjithashtu, nuk ka nevoj\u00eb t\u00eb p\u00ebrdoret <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.2 - 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\" \/>\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.2\" \/>\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\" \/>\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\udd47P\u00ebrvoja 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","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","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}]}}