miércoles, 22 de septiembre de 2010

Instalar librería manualmente con Maven

A veces interesa instalar librerías manualmente usando Maven. Por ejemplo porque no tengamos acceso en el momento al repositorio que la contiene, pero sí la tenemos en nuestro poder.

Para hacerlo debemos ir a la consola y situarnos en la raíz de nuestro proyecto. Una vez allí introducir lo siguiente:

>mvn install:install-file -DgroupId=xxx -DartifactId=xxx -Dversion=xxx -Dpackaging=jar -Dfile=xxx

Sustituír las xxx por los datos que sean necesarios en cada caso. Para conocer dichos datos, en el caso de tratarse de un .jar, basta con descomprimir dicho jar y buscar un archivo llamado pom.properties (META-INF\...\maven) en él podréis consultarlos.

-Dfile es simplemente la ruta donde está ubicado el archivo en nuestro ordenador.

Una vez hecho esto, podremos observar en nuestro repositorio local la librería ya instalada. Tan sólo debemos colocar la dependencia en nuestro archivo pom.xml de nuestro proyecto.


<dependency>
<groupId>XXX</groupId>

<artifactId>XXX</artifactId>
<versionId>XXX</versionId>
</dependency>

viernes, 14 de mayo de 2010

Convertir un file a array de bytes.

Muchas veces es necesario convertir un archivo File a bytes, ya sea para transformarlo en otro tipo de archivo o para enviarlo a otra aplicación, etc.


File archivo = f;
byte[] archivoBytes = null;

long tamanoArch = archivo.length(); //Nos quedamos con el tamaño del archivo.

//Con esta condicional controlamos si el archivo es demasiado grande
if (tamanoArch > Integer.MAX_VALUE)
{
log.debug("El archivo es demasiado largo.");
}
else
{

archivoBytes = new byte[(int) tamanoArch]; //Le damos al array el tamaño del archivo.

try
{
//Nos creamos esta variable para poder leer el archivo.
FileInputStream docu = new FileInputStream(archivo);

//Leemos los bytes del archivo y a la vez se van insertando en el array de bytes creado.
int numBytes = docu.read(archivoBytes);

System.out.printl("El archivo tiene " + numBytes + " de bytes.");

docu.close(); //Muy importante cerrar tras la lectura.
}
catch (FileNotFoundException e)
{
System.out.println("No se ha encontrado el archivo.");
}
catch (IOException e)
{
System.out.println("No se ha podido leer el archivo.");
}

jueves, 13 de mayo de 2010

StringUtils

Api de StringUtils


Muy útil para trabajar con cadenas de caracteres de forma cómoda. Pertenece a la librería org.apache.commons.lang

Ejemplos:


StringUtils.leftPad("catedral", 12, 'A');

AAAAcatedral

StringUtils.rightPad("catedral", 12, 'A');

catedralAAAA

StringUtils.center("catedral", 12, 'A');

AAcatedralAA

StringUtils.deleteWhitespace("Había una vez");

Habíaunavez

StringUtils.lowerCase("CATEDRAL");

catedral

StringUtils.reverse("catedral");

lardetac

StringUtils.replaceChars("catedral", 't', 'h');

cahedral

...

lunes, 19 de abril de 2010

Spring e Ibatis II

SqlMapConfig.xml

Es uno de los archivos fundamentales para configurar Ibatis en nuestro proyecto.

Tiene este aspecto:

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMapConfig
PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>

<sqlMap resource="______.xml"/>

</sqlMapConfig>



Este archivo indica la ruta donde está el archivo que contiene las sentencias SQL del proyecto.
Dicho archivo también es un archivo .xml, y en él se especifican las sentencias que se usan, además de los parámetros que recibirán.