tutorial mvn example compile maven-2 build

maven-2 - mvn - maven tutorial



En Maven, ¿puedo especificar una ruta relativa por encima de mi proyecto actual? (2)

Idealmente, el pom.xml debería estar en el mismo directorio que su directorio src . Por ejemplo, supongamos que ha verificado su proyecto de svn en una carpeta C:/work/project , luego mantenga el pom.xml principal en C:/work/project . src también debe estar en C:/work/project .

Sus otros subproyectos deben estar en C:/work/subproject1 , C:/work/subproject2 y así cada uno tiene su propio pom.xml . Luego, en el pom.xml principal puede referirse a los otros proyectos en el

<modules> <module>../subproject1<module> <module>../subproject2<module> </modules>

Estoy aprendiendo sobre la marcha mientras trabajo en un proyecto con un gran conjunto de proyectos para construir.

Actualmente, una línea en la compilación principal utiliza una ruta absoluta para especificar un directorio que forma parte del repositorio de Subversion pero que está "arriba" de su directorio.

como en: "C: / work / project / eclipse" donde "project" es el directorio registrado, y pom.xml está en "C: /work/project/src/subproject/pom.xml"

Me gustaría hacer esa línea una dirección relativa en su lugar.

Intenté especificar "../../ Eclipse ....", puesto que no parece funcionar.

También podría ser porque esa misma variable está siendo utilizada por un archivo pom de un subproyecto.

¿Algún consejo (aparte de volver a escribir todo el lío, que aún no conozco lo suficiente sobre el experto)?


Con Maven, las cosas son relativas al directorio que contiene el pom.xml (que está representado por la propiedad ${basedir} y se llama el directorio base). Sin embargo, hay algunas situaciones en las que podría tener que especificar una ruta relativa:

  • si un pom <parent> no está directamente arriba de un módulo dado usando un elemento <relativePath> (vea este ejemplo )
  • si los módulos no están anidados (es decir, si utiliza un diseño plano) utilizando una ruta relativa en los diversos elementos <module> (como en este ejemplo ).

Habiendo dicho todo esto, no estoy seguro de entender cuál es exactamente tu situación o lo que estás describiendo.

Tal vez debería mostrar las partes relevantes de su POM si esto es posible.