User Tools

Site Tools


informatica:linux:java:maven

This is an old revision of the document!


Instalación

En debian está en los repositorios.

Podemos también descargamos maven y ejecutar el comando:

./mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp

Si estamos detrás de un proxy configuramos la variable $HOME/./m2/settings.xml

<settings>
  <proxies>
    <proxy>
      <id>optional</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>username</username>
      <password>password</password>
      <host>10.10.10.10</host>
      <port>8080</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
  </proxies>
</settings>

Aplicación Hello World

Codigo fuente:
miappweb.tar.gz

Aplicación sola:
miappweb.war

Proyecto Hello World

Fuente: https://cwiki.apache.org/confluence/display/MAVEN/Tutorial%3A+Build+a+JAR+file+with+Maven+in+5+minutes

group id: org.iwanttobefreak.post
artifact id: java-archive
version: 1.0-SNAPSHOT

Creamos el siguiente pom.xml

<project>
 <modelVersion>4.0.0</modelVersion>
 <groupId>org.iwanttobefreak.post</groupId>
 <artifactId>java-archive</artifactId>
 <version>1.0-SNAPSHOT</version>
</project>

Ahora creamos el código java en esta ruta:

mkdir -p src/main/java/org/iwanttobefreak/post/
src/main/java/org/iwanttobefreak/post/Main.java
package org.iwanttobefreak.post;
public class Main {
  public static void main(String[] args) {
    System.out.println("Hello world");
  }
}

Compilamos el paquete:

mvn package

Nos crea el jar en el directorio target.

Lo ejecutamos:

java -cp ./target/java-archive-1.0-SNAPSHOT.jar org.iwanttobefreak.post.Main
Hello world

Proyecto WGET

package org.iwanttobefreak.post;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;

public class Main {
        public static void main(String[] args) {
                try {
                        URL url = new URL("http://www.google.es/");
                        BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()));
                        String strTemp = "";
                        while (null != (strTemp = br.readLine())) {
                                System.out.println(strTemp);
                        }
                } catch (Exception ex) {
                        ex.printStackTrace();
                }
        }
}

Proyecto POST

package org.iwanttobefreak.post;

import java.io.*;
import java.net.*;

public class Main {
        public static void main(String[] args) throws IOException {
String url = "https://www.google.es/search";
String charset = "UTF-8";
String q = "hola";

String query = String.format("q=%s",URLEncoder.encode(q, charset));

//URLConnection connection = new URL(url).openConnection();
URLConnection connection = new URL(url + "?" + query).openConnection();

connection.setDoOutput(true);
connection.setRequestProperty("Accept-Charset", charset);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + charset);

                try (OutputStream output = connection.getOutputStream()) {
                        output.write(query.getBytes(charset));
                        }catch(IOException ioe){
                        ioe.printStackTrace();
                        //return null;
                        }
                InputStream response = connection.getInputStream();
        }
}

Monitorizar con javamelody

http://code.google.com/p/javamelody/wiki/UserGuide#Setup

Hay que descargar los ficheros (dependiendo versión)
http://code.google.com/p/javamelody/downloads/list

javamelody-x.x.x.jar 

http://javamelody.googlecode.com/files/jrobin-1.5.9.jar

jrobin-x.x.x.jar 

En la carpeta:

http://javamelody.googlecode.com/files/jrobin-1.5.9.jar

Editar el fichero web.xml de src/main/webapp/WEB-INF
Añadir las líneas a final de la entrada <web-app>:

        <filter>
                <filter-name>monitoring</filter-name>
                <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
        </filter>
        <filter-mapping>
                <filter-name>monitoring</filter-name>
                <url-pattern>/*</url-pattern>
        </filter-mapping>
        <listener>
                <listener-class>net.bull.javamelody.SessionListener</listener-class>
        </listener>

Volvemos a compilar app desde el directorio de mi aplicación:

mvn package

Despliego el war

informatica/linux/java/maven.1467118477.txt.gz · Last modified: 2016/06/28 12:54 by jose