[Javalist] Maven + jwsc + war
Elek Márton
elek at anzix.net
2011. Dec. 7., Sze, 22:17:53 CET
1. a war plugint siman le lehet tiltani, egyszeruen megnezed a a
help:effective-pom-mal az execution id-t, es megismetled a definiciot
ures phase-el:
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.1.1</version>
<executions>
<execution>
<id>default-war</id>
<phase></phase>
<goals>
<goal>war</goal>
</goals>
</execution>
</executions>
</plugin>
2. A problema ott van, hogy a war plugin allitja be azt is, hogy a
project tekintse az elkeszult war file-t feltoltesre meltonak
(projectHelper.attachArtifact). Ilyet elvileg lehet kulon is mondani a
build-helper:attach-artifacttal, de gyakorlatban nem mondhatsz
ugyanolyat, mint amit a war plugin csinalna:
[ERROR] Failed to execute goal
org.codehaus.mojo:build-helper-maven-plugin:1.7:attach-artifact
(attach-myartifacts) on project test: Execution attach-myartifacts of
goal org.codehaus.mojo:build-helper-maven-plugin:1.7:attach-artifact
failed: For artifact {net.anzix:test:1.0-SNAPSHOT:war}: An attached
artifact must have a different ID than its corresponding main
artifact. -> [Help 1]
[ERROR]
Az egyik workaround, hogy hasznalsz egy classifiert:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>attach-myartifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>target/mysimplewar</file>
<type>war</type>
<classifier>jwsc</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
Ez csak annyi hatrannyal jar, hogy ha valahol dependencia kent
hasznalod a wart, akkor ott is ugyanazt a classifiert kell hasznalni.
3. Ha nagyon utalod a custom classifiert, akkor el tudom kepzelni
(=nem probaltam ki), hogy siman menni fog, hogy letiltod a sima
war:war-t (lasd 1-es pont), viszont csinalsz egy masik execution-t,
masik id-vel, a jwsc plugin _ele_, es ugy intezed, hogy a jwsc plugin
ugyanazt a file nevet hasznalja es siman irja feulut a war file-t.
Ekkor lesz egy felesleges war lepesed, de cserebe le fog futni az
attach artifact is war:war-on belul es a te war-od fog fel menni.
4. Jatszhatsz meg sajat pluginnel, amiben meghivod attach artifactot
(sot azt is el tudom kepzelni, hogy esetleg a jwsc-ben is benne van),
de szerintem az 1-3 workaround sokkal egyszeubb, nem eri meg a
faradtsagot.
m.
2011/12/3 János Háber <janos.haber at javaportal.hu>:
> Sziasztok!
>
> Maven-t probalom a mar meglevo projectunkre rahuzni. Minden megy
> szuperul, csak kicsit elakadtam.
>
> Van egy webservice projectunk amihez a war file-t jwsc allitja elo
> (weblogic specifikus cuccok is vannak benne).
> Maven ant pluginnel szepen megcsinaltam, elo is all a war file,
> csakhogy akkor jon a maven war plugin es szepen felulirja a
> sajatjaval.
>
> Tehat a kerdes. Hogy csinalhatok olyan maven pom-ot ami war tipusu, de
> megsem a war plugin csinalja meg a packaginget hanem a mar elkeszult
> war-t hasznalja.
>
> b0c1
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
További információk a(z) Javalist levelezőlistáról