Nobody have this kind of problem?

Regards

Gerald Reinhart

On 24/08/2007, Gerald Reinhart <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> Hypothesis:
> - in a multi-modules project managed by Maven2
> - an specific artifact can't be created by Maven2 [1]
> - this artifact is created by an antrun call [2]
> - another antrun call replace the fake artifact created by Maven by the
> right artifact created antrun [2]
> - the install goal is OK: the right artifact is installed in my repository
> - another module depends of the artifact of the first module
>
> Problem:
> - when I do an install of the first artifact in my repository and a
> compile the other module => BUILD SUCCESSFUL [3]
> - when I do a global build from the parent => BUILD FAILURE [4]
>
> On the first build,  it's OK because maven resolve the dependency by the
> local repository.
> On the second build, it's KO because maven takes the artifact it has
> created during the global build, so the fake artifact....
>
> I don't know what to do with that... an idea ?
>
> Regards
>
> Gerald Reinhart
>
>
> [1] In my context, I have a split weblogic directory, some ant weblogic
> targets generate EJBs, EJBs Client, WebService and an EAR. It would be a
> nightmare to transform those ant weblogic target in Maven (
> http://edocs.bea.com/wls/docs92/programming/splitcreate.html).
> The only artifact that other modules of the project needs is a EJB Client
> Jar.
>
> [2] My antrun call create a target/service-ant-client.jar file.
>
> my pom.xml:
> [...]
>   <groupId>myproject</groupId>
>   <artifactId>service</artifactId>
>   <version>1.0</version>
>   <packaging>ejb</packaging>
> [...]
>   <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-ejb-plugin</artifactId>
>         <configuration>
>         <generateClient>true</generateClient>
>         <clientExcludes>
>           <clientExclude>**/ejb/*Bean.class</clientExclude>
>           </clientExcludes>
>         </configuration>
>   </plugin>
> [...]
>       <plugin>
>         <groupId>org.apache.maven.plugins</groupId>
>         <artifactId>maven-antrun-plugin</artifactId>
>         <executions>
>             <execution>
>             <id>antrun_compile</id>
>             <phase>compile</phase>
>             <configuration>
>               <tasks>
>                   [...]
>                   <!-- weblogic ant call =>    target/service-
> ant-client.jar -->
>                   [...]
>               </tasks>
>             </configuration>
>             <goals><goal>run</goal></goals>
>           </execution>
>           <execution>
>             <id>antrun_package</id>
>             <phase>package</phase>
>             <configuration>
>               <tasks>
>                   <echo>Replace the fake 
> target/service-1.0-client.jargenerated by maven
>                         by the service-ant-client.jar generated by
> weblogic ant targets.</echo>
>                   <delete file="target/service- 1.0-client.jar"/>
>                   <copy file="target/service-ant-client.jar"  tofile="
> service-1.0-client.jar"  />
>               </tasks>
>             </configuration>
>             <goals><goal>run</goal></goals>
>           </execution>
>         </executions>
>      </plugin>
> [...]
> </project>
>
> Targets :
>           target/service- 1.0.jar (fake EJB Jar)
>           target/service-1.0-client.jar (fake EJB Client Jar)
>           target/service-ant-client.jar (generated by weblogic ant
> targets)
>
>
>
> the pom dependency from another module:
>
>     <dependency>
>       <groupId>myproject</groupId>
>       <artifactId>service</artifactId>
>       <version>1.0</version>
>       <type>ejb-client</type>
>     </dependency>
>
>
> [3]
> mvn -f service\pom.xml clean install
> mvn -f othermodule\pom.xml clean install
> => BUILD SUCESSFULL
>
> [4]
> parent pom.xml
> [...]
>    <modules>
>       <module>service</module>
>       <module>othermodule</module>
>    </modules>
> [...]
>
> mvn -f pom.xml clean install
>
>

Reply via email to