Hola a todos, les escribo para ver si alguien me puede ayudar con el siguiente problema:
Tengo un proyecto en Eclipse que creo a partir de un archetype de Maven 2. En el proyecto necesito hacer un test para un Action de Struts 2.
A tal fin agrego a mi pom la siguiente dependencia:
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-testng-plugin</artifactId>
<version>2.3.4</version>
</dependency>
Ahora bien, este jar me provee la clase StrutsTestCase que es la clase de la cual tengo que hacer extender mi clase de prueba. Así que creo mi clase Test, la hago extender de StrutsTestCase e importo la librería y todo compila correctamente.
El problema que tengo es que luego de importar esta clase, espero poder hacer uso de ciertos métodos y propiedades que esta clase provee, pero me encuentro con que los mismos no existen.
Analizando un poco porque pasaba esto me di cuenta de que el problema es que el archetype que uso para construir mi proyecto agrega ya a las referenced libraries un jar que contiene la clase StrutsTestCase, pero la versión de la clase en ese jar es más vieja que la que yo importo por medio del artefacto que agrego al pom y por eso no tiene los atributos y/o métodos que espero. Y como el jar que agrega el archetype está listado en el .classpath antes que el jar que yo agrego en el pom, no tengo forma de hacer que el import levante mi clase y no la del jar que viene con el archetype.
A modo de prueba edite a mano el .classpath de mi proyecto y listé mi jar antes que el jar que trae el archetype y así pude importar la clase correcta. Sin embargo, esta solución no es aceptable ya que cuando corro mvn eclipse:eclipse el .classpath se regenera y el listado me vuelve a quedar mal (o al menos de un modo que a mi no me sirve).
En conclusión mi pregunta es:
Existe alguna forma de indicarle a Maven (o al goal eclipse) que mi dependencia debe listarse antes? Intenté responder la pregunta usando Google pero no he tenido suerte todavía.
Muchas gracias desde ya a quien pueda darme cualquier tipo de ayuda.
Diego.