Bienvenido a Java Mexico

Java México es una comunidad de desarrolladores mexicanos en el lenguaje Java.

Este sitio es colaborativo, automáticamente al registrarte obtienes un Blog para compartir tus conocimientos o información acerca del lenguaje. Antes de publicar en tu blog o los foros por favor lee los lineamientos de publicación.

Para dudas y problemas con respecto al lenguaje Java puedes visitar los Foros de Discusión.

También puedes responder nuestra encuesta para saber en que estado vives!

OpenXava 5.3: Desarrollo rápido con Java

OpenXava es un marco de trabajo Java para desarrollo rápido de aplicaciones web empresariales.

Con OpenXava sólo has de escribir las clases del dominio con Java para obtener una aplicación web lista para producción.

OpenXava 5.3 cuenta con gráficos generados automáticamente a partir de los datos de la lista, listas ordenables con "arrastrar y soltar", actualización a JPA 2.1 y Bean Validation 1.1 y mucho más.

Hola a todos...

Hola a todos,
Soy Armel Peña, Colombiano y programador 100% con una experiencia de mas 25 años; He decidido unirme a esta comunidad por tres razones: 1. iniciativa propia 3. recibir ayudas 3. y por que quiero también aportar un poco de mis conocimientos y experiencias como programador a aquellos que como en algún momento, tenemos dudas en las experiencias, que como programador Dios nos ha dado.

Fuí programador, por muchos años de lenguajes de programación como Fortran, Cobor, Visual Basic, Fox Prow, C, Clipper, Flipper y "Access" entre otros; Pero el mundo evoluciona y el conocimiento propio debe hacer lo mismo. Tomé la decisión de programar en Java, después de investigar, consultar, probar, investigar, investigar y sigo investigando; Pero la decisión ya está tomada; Estoy programando en Java 100% desde hace dos años: 1 año lo dedique a investigar, estudiar y profesionalizarme en el lenguaje; Actualmente estoy terminando una carrera técnica como Programador Profesional de Dispositivos Móviles y estoy desarrollando una Aplicación Cliente / Servidor, la cual llevo un año en desarrollo.

Tengo dudas como todos, pero también interesantes experiencias y hallazgos con el lenguaje que en la medida estaré compartiendo con la comunidad.

Armel Peña Rangel

Obtener la version del JDK utilizada en la compilación

Hoy fue uno de esos días en que tuve que lidiar con un proyecto legacy el cual está construido con Java 5, la sorpresa que tuve cuando comencé a compilar fue que varias bibliotecas (JAR) estaban compiladas con una version superior. Como necesitaba saber exactamente cuales eran las que necesitaba hacer Downgrade de versión y eran bastantes los JAR's escribí este script que después pensé que seria util para la comunidad.

Básicamente lo que hace es tomar cada archivo y lo descomprime en una carpeta X y obtiene el primer archivo *.class y se ejecuta el comando javap para obtener la version, como eso retorna algo similar a   version: 52 entonces quité lo que no es numero para asignarlo a la variable $v y utilizando arrays asociativos es que se mapea el valor para obtener la versión.

TO_DO:
Mejoraría bastante el performance si se descomprimiera solo el primer archivo *.class que encuentre.

#!/bin/bash
 
LIB_HOME=/path/to/lib/*.jar
 
version['45.3']=1.1
version['46']=1.2
version['47']=1.3
version['48']=1.4
version['49']=5
version['50']=6
version['51']=7
version['52']=8
 
for JAR_FILE in $LIB_HOME
do

Java 9 estaría llegando en septiembre de 2016

Java 9 estaría llegando el 22 de Septiembre de 2016, de acuerdo al calendario propuesto para Java 9, publicado hace algunos días por Mark Reinhold, arquitecto en jefe de la plataforma Java en Oracle.


* Imagen de http://modomatic.smugmug.com/Selected-Work-of-Moriza/Life-Underground/i-...

Dos características resaltan en esta nueva versión: la modularización de la plataforma Java y la introducción de un sistema de módulos.

De acuerdo con Reinhold (1), entre los objetivos del Proyecto Jigsaw (JSR 376) está diseñar:

Un sistema de módulos estándar para la plataforma Java facilitará la construcción, mantenimiento y distribución de aplicaciones de gran tamaño, por fin permitiendo a los desarrolladores escapar del “Infierno JAR” del frágil y propenso a errores mecanismo llamado class-path.

SG Virtual Conference 8va edición

Únete al mayor congreso en línea para desarrolladores de software. #sgvirtual.

 ¡Aparta tu lugar en SG Virtual Conference 8va edición!

Sé parte del evento que acerca a la comunidad de software de habla hispana con las tendencias, herramientas y mejores prácticas, en cualquier parte del mundo sin costo alguno.
 
Participa en más de 20 conferencias virtuales gratuitas durante todo un día y conéctate con miles de colegas internacionales. ¡Consulta la agenda completa!

¿Qué es SG Virtual?

Desarrollo de libreria para consultas DDL y DML

Tengo un tiempo desarrollando una libreria para facilitar el acceso y manipulacion de bases de datos, se que ya existen muchas soluciones pero creo que la mayoria estan enfocadas para grandes proyectos y son bastante complejas por eso lo empeze como un proyecto personal pero creo que esta en un buen punto para compartirlo con la comunidad. Por el momento solo tiene soporte para mysql y h2 aunque todavia hace falta hacer pruebas y documentar bastante, si alguien esta interesado puede contribuir con el desarrollo.
https://github.com/luischavez/database/tree/dev

Database database = Database.use("mysql");
database.create("users", table -> {
    table.integer("id").incremented();
    table.string("username", 32);
 
    table.primary("id");
});
 
if (database.exists("users")) {
    database.insert("users", "username", "luischavez");
    Row user = database.query("users").first();
    database.drop("users");
}

Imprimir año en formato calendario (ejercicio)

Ya es viernes! así que algo entretenido.

Siguiendo el espíritu de esta pregunta:
http://www.javamexico.org/blogs/jsrivero22/crear_un_calendario

El ejercicio es imprimir el calendario del año así:

                             2015

      January               February               March
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
             1  2  3   1  2  3  4  5  6  7   1  2  3  4  5  6  7
 4  5  6  7  8  9 10   8  9 10 11 12 13 14   8  9 10 11 12 13 14
11 12 13 14 15 16 17  15 16 17 18 19 20 21  15 16 17 18 19 20 21
18 19 20 21 22 23 24  22 23 24 25 26 27 28  22 23 24 25 26 27 28
25 26 27 28 29 30 31                        29 30 31
                                            
       April                  May                   June
Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa  Su Mo Tu We Th Fr Sa
          1  2  3  4                  1  2      1  2  3  4  5  6
 5  6  7  8  9 10 11   3  4  5  6  7  8  9   7  8  9 10 11 12 13
12 13 14 15 16 17 18  10 11 12 13 14 15 16  14 15 16 17 18 19 20
19 20 21 22 23 24 25  17 18 19 20 21 22 23  21 22 23 24 25 26 27
26 27 28 29 30        24 25 26 27 28 29 30  28 29 30

crear un calendario.!!

lo que quiero es q me pueda mostrar los nombres de la semana dias y mes osea algo asi: ---> Lunes 4 de Febrero pero el problema que tengo es que no me muestra los dias de manera seguida..!!!

package meses;

public class mese {

        public static void main(String[] args) {
       
                String[] dias = {"Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sabado", "Domingo"};
                       
                                                       
                        for (int E=1; E<=31; ){
                                for (int i = 0; i < dias.length;i++) {
                                        if (E<=31){
                                                System.out.println(dias[i]+" "+E+" enero");
                                        }
                                        else{
                                                break;
                                        }                                                                      
                                        E++;
                                }              
                        }
                       
                        for (int f=1; f<=28;){
                                for (int i = 0 ; i < dias.length;i++) {
                                        if (f<=28){
                                                System.out.println(dias[i]+" "+f+" febrero");
                                        }
                                        else{
                                                break;
                                        }                                                                      
                                        f++;
                                }              
                        }
                       
                        for (int m=1; m<=31;){
                                for (int i = 0; i < dias.length;i++) {
                                        if (m<=31){
                                                System.out.println(dias[i]+" "+m+" marzo");
                                        }
                                        else{
                                                break;
                                        }                                                                      
                                        m++;
                                }              
                        }
                       
                        for (int a=1; a<=30;){
                                for (int i = 3; i < dias.length;i++) {

Argumentos Variadicos (Varargs)

Desde Java 5 se incorporo la posibilidad de tener argumentos variádicos (varargs) en métodos y constructores, dichos argumentos permiten al desarrollador ahorrarse la sobrecarga de métodos o constructores que contienen de 0 a N argumentos del mismo tipo.

Antes de Java 5, había de dos sopas, se tenía que sobrecargar el método, con la límitante para el desarrollador de saber la cantidad máxima y mínima del número de argumentos:

public class VarargsExample {

        public static void main(String[] args) {

                Greeting greet = new Greeting();
                greet.greetings("Hugo", "Paco", "Luis");
                greet.greetings("Hugo", "Paco");
                greet.greetings("Hugo");

        }

}

class Greeting {

        public void greetings(String name1) {
                System.out.println("Hi " + name1);
        }

        public void greetings(String name1, String name2) {
                System.out.println("Hi " + name1 + ", " + name2);
        }

        public void greetings(String name1, String name2, String name3) {
                System.out.println("Hi " + name1 + ", " + name2 + ", " + name3);
        }
}

Y la segunda sopa sería tener definidos los elementos dentro de un arreglo:

public class VarargsExample {

Sitio Personal en Vaadin Java

Hola a Todos los javeros de esta comunidad.

Estoy muy interesado en aprender el Framework Vaadin de Java, me la he pasado buscando información en la red de sitios personales pero no he encontrado nada de ejemplos. La mayoria son aplicaciones mas no sitios de contenido hechos con este framework.

Mi pregunta es ... ¿ Es apropiado realizar un sitio web de contenidos como un CMS con Vaadin ? Actualmente me estoy embebiendo con la documentación oficial de vaadin, quiero dominarlo, pero si voy a tener un sitio personal me gustaría trabajarlo en java y no en CMS PHP como Drupal, Wordpress o Joomla, que en un dos por tres ya tenemos un sitio de contenidos pero cuando surgen los problemas, hay tanto que indagar para solucionarlos.

Saludos ...

Distribuir contenido