2009-04-15 8 views

Respuesta

19

La respuesta estaba justo delante de mí en las copias-dependencias de los documentos mojo (incluso me he vinculado a ella). La documentación de la propiedad incluye la expresión a la que puede hacer referencia.

useRepositoryLayout: Coloque cada artefacto en la misma estructura de directorios como un repositorio predeterminado. ejemplo: /outputDirectory/junit/junit/3.8.1/junit-3.8.1.jar

* Type: boolean 
* Since: 2.0-alpha-2 
* Required: No 
* Expression: ${mdep.useRepositoryLayout} 
* Default: false 

Para establecer esta propiedad de línea de comandos que necesita para ejecutar

mvn -Dmdep.useRepositoryLayout=true <goals go here> 
+17

Para aclarar, se necesita algo como esto : 'mvn -Dmdep.useRepositoryLayout = true dependency: copy-dependencies' – Steve

6

Por lo general, establece propiedades maven usando la misma sintaxis que las propiedades del sistema java. ¿Has probado la siguiente línea?

mvn -DuseRepositoryLayout=true dependency:copy-dependencies 
+4

Esto solo funciona si el autor del complemento ha anotado la variable con una expresión. Se mostrarán en los documentos del complemento como se muestra en la respuesta anterior. –

+0

Gracias. Funciona para mi. –

13

Defina las propiedades como propiedades arbitrarias ... no los accesorios de maven estándar como la versión. En mi caso he definido un nuevo build.version propiedad:

<properties> build.version=unknown </properties> 

utilizo la propiedad:

<warName>${build.version}</warName> 

defino la propiedad:

mvn -P prod -Dbuild.version=app_name-branch_name-build_number package 
+0

Aquí hay un buen enlace: http://www.sonatype.com/books/mvnref-book/reference/resource-filtering-sect-properties.html#resource-filtering-sect-user-defined – bcolfer

+1

Aunque el usuario original es específico la pregunta fue respondida, esta respuesta responde a la pregunta genérica que era el título de la publicación. ¡Gracias! –

Cuestiones relacionadas