Pregunta

¿Cuáles son las características ocultas de Maven2?

¿Fue útil?

Solución

Puede usar settings.xml para forzar que TODAS las compilaciones de maven que se ejecutan en su máquina local también usen un proxy maven instalado localmente. Ahorrándote a ti mismo y al tiempo de red.

<settings xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
                  http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <profile>
        <id>localcacheproxies</id>

        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>

        <repositories>
            <repository>
                <id>localCacheProxy</id>
                <url>http://my-local-proxy.com/maven-proxy</url>
            </repository>
        </repositories>
    </profile>
</profiles>

Tenga en cuenta que los encabezados del espacio de nombres en este settings.xml también proporciona un sentido inteligente decente en comparación con otros ejemplos publicados aquí. (cree en su directorio de inicio la carpeta .m2 en Windows, Linux y Mac y todos los sistemas operativos)

Otros consejos

Eche un vistazo a la dependencia: analice también.

A veces tiene un archivo que necesita contener algún valor que solo se puede descubrir en el momento de la compilación. Tal vez tenga una clase Java que verifique si el período de evaluación está activo y defina ese período como "treinta días después de que se compiló esta compilación". Necesita una forma de inyectar la fecha actual, o alguna otra propiedad, directamente en la compilación.

Maven tiene una característica genial y oculta llamada filtrado ( Documentación aquí ). Con el filtrado, puede pedirle a Maven que busque patrones en ciertos archivos fuente y los reemplace con algún valor, y es tan fácil de activar como esto:

  <build>
    <resources>
      <resource>
        <directory>src/main/resources</directory>
        <filtering>true</filtering>
      </resource>
    </resources>
  </build>

¿Qué puedes pegar en el filtro? Cualquier variable de entorno, la mayoría de los valores en el archivo pom e información sobre el compilador de Java. Ahora, si cambia su número de versión en Maven, no tiene que buscar su archivo whatever.properties y actualizar su versión allí también. Puedes modificarlo en Maven y listo.

Con maven-dependency-plugin es posible resolver conflictos de dependencia y problemas de dependencia cíclica.

Añadir a su pom.xml:

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-dependency-plugin</artifactId>
</plugin>

Luego ejecute mvn dependency: resolve o mvn dependency: build-classpath para probarlo.

Más sobre el complemento de dependencia: http://maven.apache.org/plugins/maven-dependency- plugin / howto.html

  1. herencia del proyecto
  2. agregación de proyectos
  3. ensamblaje: ensamblaje
  4. informes (findbugs, checkstyle, clover, pmd, etc.)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top