ПредишенСледващото

Nexus - защо не е необходимо да се използва НОВОТО

достъпно на член: Руски Английски

Където и да съм работил с Sonatype Nexus в някакъв момент, има неразбиране за това, което най-новата версия на артефакта и защо не може да се използва.

Всеки артефакт има определена информация файл Maven-metadata.xml. съдържанието на което е приблизително:

Това се случва, тъй като алгоритъм, който използва, за да намерите Nexus ПОСЛЕДНИ: първо гледа дали има Maven-metadata.xml и го връща. Ако маркерът не е налице, то ще се върне към най-новата версия на списъка .

Първоначално, този механизъм работи само защото Maven-metadata.xml просто няма . Версиите са сортирани по ред на добавяне завърна миналата. Но в един момент, има нещо от следните неща:

Някой все още поставя в мета-файл.

Работата протича в клоновете и двата отбора независимо изсипаха артефакти с различни версии. Кой е попълнил в последния - че и най-новата версия. Просто добавя към края на версията, която вече е deploitsya.

Както се оказва в Nexus последни работи правилно само за плъг-ин и да използва този механизъм към обичайните предмети не могат.

Малко очакваните въпроси:

Кой актуализира Maven-metadata.xml?

Този файл не се актуализира Nexus'om и Maven Deploy Plugin'om: първо, той отнема от съществуващия хранилище Maven-medatadata.xml. след това актуализира информацията, и се излива обратно в хранилището. Ако има съществуващ файл, той създава един нов и се изсипва в Nexus.

къде е Maven, ако тя не се използва?

Maven този маркер и поставят. В Nexus'a има някои утилитарни механизми, сред тях - Основен ремонт на метаданни. Тази позиция може да се намери в контекстното меню на хранилища и директории. Този механизъм премахва съществуващото Maven-metadata.xml. гледане на артефакти и създава нов файл. В този момент, тя създава . Защо - ад знае, но тя създава. И аз забелязах дори и в случаите, когато възстанови метаданни, като не го правят, така че се предполага, че това се случва, дори и за някои събития. Имайте предвид, че за сортиране случва версии базирани механизми пришити Maven. но тези механизми са вече в употреба Nexus'om:

Подреждането се получава чрез разбор на низ версия и поддържа предпазен версии с допълнителни семантика за конкретни класификатори. Допълнителна информация може да се намери в документацията за прилагане клас GenericVersionScheme на.

защо остарял?

Дори ако Rebuild метаданни се случва, това е еднократно действие. Следваща метаданни файл за актуализация, все още ще Maven. А това просто не прави нищо с - Той се копира от Maven-metadata.xml. който беше изтеглен от Nexus'a.

За да обобщим

Ако имате нужда от механизъм за получаване на най-новата версия на един артефакт, този механизъм и да сте и вие ще трябва да се създаде (напише сценария). Механизмът използва по подразбиране Nexus'om в един момент просто спре да работи.

Освен това, ако мислите, че имате нужда от някъде най-новата версия на артефакти, най-вероятно сте се движат в грешна посока, не съм виждал по-добре настроен процес, където е имало нужда от НОВОТО.

но като цяло това не е необходимо да дръпнете най-новата версия на артефакти, без да мисли, светът не е съвършен, а хората са все още на правата на грешки, но се появяват и нови, и това не е необходимо, за да добавите бъгове проекта трета страна автоматично :)

Свързани статии

Подкрепете проекта - споделете линка, благодаря!