Maven 2 endorsed dir

Pokud používáte Maven a potřebujete občas přidat nějakou tu knihovnu do endorsed adresáře JRE (například projekt Metro vyžaduje přetížit JAXWS a JAXB API), můžete použít následující jednoduchá mechanismus. Nechtělo se mi totiž cokoli nahrávat do lib\endorsed adresáře mé veřejné JRE, takže jsem vytvořil v adresáři s nainstalovaným Mavenem adresář endorsed a do něj nakopíroval soubor all.zip obsahující všechny class soubory, které jsem potřeboval „přetížit“. V mém případě (JAXWS API 2.1) to byly tyto JARy:

Soubory jsem rozbalil a poté zabalil do jednoho souboru ALL.ZIP. Pokud používáte Total Commander, můžete to udělat přímočaře pomocí prostého kopírování z archivu do archivu (F5). Poté jsem modifikoval systémovou proměnnou MAVEN_OPTS takto:

set MAVEN_OPTS=-Xbootclasspath/p:%M2_HOME%\endorsed\all.zip

Pakliže máte srávně nainstalovaný Maven a korektně nastavenou proměnnou M2_HOME, nyní by JRE mělo brát obsah souboru all.zip v potaz a JAXWS API 2.1 začne fungovat. Podobně si můžete rozbalovat další JARy – podle toho, jak bude potřeba.

Připravil jsem malý archiv obsahující ukázkový adresář endorsed pro Maven. Stačí jej rozbalit do adresáře s nainstalovaným Mavenem a nastavit proměnnou.