[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