Archivos por Etiqueta: maven

Java: JavaStack artifacts Available in Maven Central

Ya se han liberado los primeros artefactos (librerías de proposito general) de JavaStack en Maven Central:

  • packer:1.1.1 > Libreria de Serializacion de datos (compresion, encriptacion,…). Similar a Kryo.
  • mapexpression:1.0.2 > Evaluador de Expresiones para usar en placeholders como ${name}.
  • stringproperties:1.0.1 > Properties con Features extra (${placeholders}).
  • kvstore:1.0.0 > Un NoSQL / Map Key-Value (disco y memoria).
  • standalone-preferences:1.0.4 > Implementacion del API de Preferences en Filesystem.
  • figaro:1.0.0 > Sistema de mensajes asincronos In-process / EventBus / ActorModel. Similar a Kilim, µJavaActors, Akka.

Todos estos artefactos siguen la misma filosofía: Zen, KiSS

Maven Central: org.javastack

Anuncios

Java: Install Maven SCM in Eclipse Kepler

Si acabas de pasar a Eclipse Kepler atraido por las Top 10 Kepler Features seguramente habrás visto que pese a que han integrado Git en la nueva versión, el SCM de GIT (o Subversion) para Maven no están integrados y el “siguiente, siguiente” tampoco funciona como debería y verás unos errores como estos:

Fallo de instalacion “m2e-egit”:

Cannot complete the install because one or more required items could not be found.
Software being installed: Maven SCM Handler for EGit 0.14.0.201207041402 (org.sonatype.m2e.egit.feature.feature.group 0.14.0.201207041402)
Missing requirement: Maven SCM Handler for EGit 0.14.0.201207041402 (org.sonatype.m2e.egit 0.14.0.201207041402) requires 'bundle org.eclipse.egit.core [1.0.0,3.0.0)' but it could not be found
Cannot satisfy dependency:
From: Maven SCM Handler for EGit 0.14.0.201207041402 (org.sonatype.m2e.egit.feature.feature.group 0.14.0.201207041402)
To: org.sonatype.m2e.egit [0.14.0.201207041402]

Fallo de instalacion “m2e-subclipse”:

Cannot complete the install because one or more required items could not be found.
Software being installed: Maven SCM handler for Subclipse 0.13.0.201303011221 (org.sonatype.m2e.subclipse.feature.feature.group 0.13.0.201303011221)
Missing requirement: Maven SCM Handler for Subclipse 0.13.0.201303011221 (org.sonatype.m2e.subclipse 0.13.0.201303011221) requires 'bundle org.tigris.subversion.subclipse.core [1.6.0,1.9.0)' but it could not be found
Cannot satisfy dependency:
From: Maven SCM handler for Subclipse 0.13.0.201303011221 (org.sonatype.m2e.subclipse.feature.feature.group 0.13.0.201303011221)
To: org.sonatype.m2e.subclipse [0.13.0.201303011221]

Aqui están los pasos a seguir para poder instalar el SCM GIT (EGit) y SVN (Subclipse) para Maven:

Help > Install New Software…

Help > Install

Leer más de esta entrada

Maven Web Proyects en Eclipse 3.7 Indigo

Si lo haces a mano segun el tutorial Maven Web Proyects en Eclipse 3.7 Indigo, solo falta un detalle, agregar el runtime de Tomcat: Java Build Path > Libraries > Add Library > Server Runtime > Tomcat 7.x

Y si te aparece el error:

Dynamic Web Module 3.0 requires Java 1.6 or newer. […] Maven WTP Configuration Problem
One or more constraints have not been satisfied.

Hay que tocar el pom.xml

<project>
	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.6</source>
					<target>1.6</target>
				</configuration>
			</plugin>
		</plugins>
	</build>
</project>

Si lo haces con el plugin m2eclipse-wtp (Window > Preferences > Maven > Discovery). Para Juno m2e-wtp (Eclipse Market place).

Referencias:
http://sosiouxme.wordpress.com/2012/05/21/470/
http://stackoverflow.com/questions/6356421/maven-tomcat-projects-in-eclipse-indigo-3-7
http://stackoverflow.com/questions/6656622/deploy-project-to-tomcat-from-eclipse
http://www.lintips.com/?q=node/140

Java: Repositorio Maven con Amazon S3

Si quieres montarte un repositorio Maven en Amazon S3 sin calentarte mucho la cabeza con un Nexus-OSS, aqui va el resumen (en los enlaces -ingles- los detalles completos):

Primero debes crear un par de buckets en S3, REPONAME-release y REPONAME-snapshot.
Nota: Donde REPONAME podria ser algo como por ejemplo: com-acme-maven-repo
Luego debes crear un usuario en el servicio IAM, eso te dara un Access Key ID que usaras como “username” y un Secret Access Key que usaras como “passphrase” en el settings.xml

Una vez creado el usuario debes adjuntarle una policy en la seccion de Permissions como esta:

{
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "s3:*",
      "Resource": [
        "arn:aws:s3:::REPONAME-snapshot",
        "arn:aws:s3:::REPONAME-snapshot/*", 
        "arn:aws:s3:::REPONAME-release", 
        "arn:aws:s3:::REPONAME-release/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "s3:ListAllMyBuckets",
      "Resource": "arn:aws:s3:::REPONAME-*"
    }
  ]
}

Debes configurar las credenciales que se usaran para acceder a los buckets del S3 (~/.m2/settings.xml)

<settings>
    ...cut...
    <servers>
        ...cut...
        <server>
            <id>REPONAME-s3-release-repo</id>
            <username>0123456789ABCDEFGHIJ</username>
            <password>0123456789abcdefghijklmnopqrstuvwxyzABCD</password>
        </server>
        <server>
            <id>REPONAME-s3-snapshot-repo</id>
            <username>0123456789ABCDEFGHIJ</username>
            <password>0123456789abcdefghijklmnopqrstuvwxyzABCD</password>
        </server>
        ...cut...
    </servers>
    ...cut...
</settings>

Luego en el pom.xml de tu proyecto le indicas que repositorio debe usar para la publicacion:

<project ...cut...>
    <build>
        <extensions>
            <extension>
                <groupId>org.springframework.build</groupId>
                <artifactId>aws-maven</artifactId>
                <version>5.0.0.RELEASE</version>
            </extension>
        </extensions>
    </build>

    <!-- Deployment -->
    <distributionManagement>
        <repository>
            <name>S3 Release Repository</name>
            <id>REPONAME-s3-release-repo</id>
            <url>s3://REPONAME-release/release</url>
        </repository>
        <snapshotRepository>
            <name>S3 Snapshot Repository</name>
            <id>REPONAME-s3-snapshot-repo</id>
            <url>s3://REPONAME-snapshot/snapshot</url>
        </snapshotRepository>
    </distributionManagement>
</project>

Para hacer el deploy del artefacto… maven deploy

Para usarlo desde otros proyectos:

<project ...cut...>
    <repositories>
        <repository>
            <id>REPONAME-s3-release-repo</id>
            <url>https://REPONAME-release.s3.amazonaws.com/release/</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>REPONAME-s3-snapshot-repo</id>
            <url>https://REPONAME-snapshot.s3.amazonaws.com/snapshot/</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
</project>

Fuentes y detalles:
Hosting Maven repository on Amazon-S3
Giving access to a single S3 Bucket using Amazon IAM
Maven Wagon for Amazon S3

Maven: Primeros pasos

Los primero es lo primero… RTFM ;-)

Introducción a Maven 2 (Español)

Nuevas características de Maven 3 (Español)

Usando Plugins (Español)

Más documentacion de Maven (Ingles):

  • Maven: The Complete Reference [enlace]
  • Maven by Example[enlace]
  • Maven Cookbook [enlace]
  • Developing with Eclipse and Maven [enlace]
  • Repository Management with Nexus [enlace]
  • In/compatibilidades entre Maven 2 y 3 [enlace]
A %d blogueros les gusta esto: