Typ "war" je definován následujícím způsobem:
<component>
<role>org.apache.maven.artifact.handler.ArtifactHandler</role>
<role-hint>war</role-hint>
<implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
<configuration>
<type>war</type>
<includesDependencies>true</includesDependencies>
<language>java</language>
--> <addedToClasspath>false</addedToClasspath>
</configuration>
</component>
Není problém v téhle definici? To by znamenalo, že POM typu war není
možné na classpath přidat…
Filip Jirsák
Dne 24. září 2008 7:21 Franta Petr <[EMAIL PROTECTED]> napsal(a):
> Myslím si, že problém není WAR, ale dependency typu WAR. Default typ je JAR,
> takže vynecháním <type>war</type> se nastaví default na JAR a ten samozřejmě
> neexistuje, proto je typ WAR uveden. Maven dependency plugin pracuje správně
> v tom, že příkaz mvn dependency:copy-dependencies vykopíruje veškeré
> dependencies včetně WAR souboru, ale Maven dependency WAR nepřidá do
> systémových proměnných pro běh testu :-(
>
> Vyřešil jsem to tak, že jsem použil právě dependency plugin, kterým na
> <phase>test-compile</phase> provedu <goal>unpack-dependencies</goal> s
> definicí WAR souboru. Následně se spustí test, který už najde rozbalené
> soubory v daném adresáři, které potřebuje kontrolovat. Je to jen obejití buď
> chyby programu Maven 2.0.9 nebo mé neznalosti programu Maven ...
>
> Petr F.
>
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Filip Jirsák
> Sent: Tuesday, September 23, 2008 8:27 PM
> To: Java
> Subject: Re: Problém s Maven dependency ...
>
> Zdravím,
> sice jsem dodneška nepochopil,jak si autoři Mavenu představovali
> používání artifactů, typů, classifierů, attached artifactů a
> souvisejících záležitostí, ale mám dva tipy: 1. maven-war-plugin má v
> dokumentaci pro war:war uvedeno, že se .war generuje ve výchozím
> nastavení jako primární artifact (volba primaryArtifact), takže bych
> zkusil v závislosti vynechat <type>war</war>. Pokud to nepomůže,
> nezbývá asi než se podívat do zdrojáků maven-war-pluginu, jak vlastně
> .war připojuje. Možná by také pomohlo přidat .war artifactu nějaký
> classifier – zatím mám takový dojem, že Maven špatně rozlišuje, co je
> primární artifact a co přiložený, pokud se artifacty liší jen typem a
> ne classifierem.
>
> S pozdravem
>
> Filip Jirsák
>
> 2008/9/23 Franta Petr <[EMAIL PROTECTED]>:
>> Narazil jsem na problém s dependency:
>>
>> Napsal jsem si test, který dělá kontrolu dat oproti DB (překlady, integrita
>> XSD, atd). Můj problém je v tom, že natahuji soubory XSD pomocí funkce
>> getResourceAsStream z jednotlivých balíčků a provádím kontrolu dat v nich.
>> Jestliže si v IDE nastavím cestu na WAR soubor, vše funguje, ale pomocí
>> Maven to spadne na chybu, kdy funkce getResourceAsStream vrátí null hodnotu.
>> mvn dependency:list nebo mvn dependency:tree zobrazí, že daná závislost
>> (WAR) je součástí dependencies. V testu jsem si nechal vypsat proměnné
>> prostředí a zjistil jsem, že Maven daný WAR soubor nemá v žádné ze svých
>> classpath proměnných. V pom.xml mám uvedeno
>> <dependency><groupId>package</groupId><artifactId>artifact-web</artifactId><version>1.0-SNAPSHOT</version><type>war</type><scope>test</scope></dependency>.
>>
>>
>>
>> Petr F.
>>
>>
>>
>>
>
>
>
> --
> Filip Jirsák
> [EMAIL PROTECTED]
>
--
Filip Jirsák
[EMAIL PROTECTED]