Java, Linux, Programacion, Software Libre

Pequeño programa Java con resaltado de sintaxis

CapturaCreaSnippets

He estado practicando algo de programación en Java, en esta ocasión he realizado un pequeño programa para creación y guardado de snippets para el lenguaje de programación Java. He hecho esto usando archivos para guardar los Snippets, un archivo de propiedades donde estan las palabras reservadas de Java.

El resaltado de sintaxis y los colores los he puesto yo pero si analizan el codigo se pueden cambiar; no soy tan buen programador pero espero que le sirva a alguien.

Si desean descargar el archivo jar lo pueden hacer desde aqui

El código fuente de la aplicación lo pueden descargar aqui

PD:Si hay alguna correccion por favor haganmelo saber….

Anuncios
Java, Linux, Programacion

Programacion en Java con Geany y Ant en Linux

geanyjavaant

Hace tiempo escribi un minitutorial acerca de como configurar Geany para programar en java, ahora mostraré una forma mas facil de programar en Java con Geany y Ant. Esto lo he probado satisfactoriamente en Linux Mint y en Manjaro, no esta por demas decir que debe estar instalado el JDK en el sistema.

1. Primero instalamos Apache Ant, lo podemos encontrar en los repositorios de ambas distribuciones.

2. Creamos un proyecto en Geany y lo renombramos como queramos. Para crear un proyecto en Geany vamos a Proyecto -> Nuevo.

3. Creamos dentro del proyecto dos directorios uno para el codigo fuente llamado “src” y el otro para las librerias que usara la aplicacion con el nombre “libs”.

4. Ahora creamos el archivo build.xml que será el que nos ayude a hacer las operaciones de compilar, ejecutar y construir el archivo jar. En mi caso lo construi de la siguiente manera:

<?xml version="1.0"?>
<!-- La accion por defecto es ejecutar-->
<project name="CreaSnippets" default="ejecutar" basedir=".">

    <!-- ===============================================  -->
    <!-- Accion inicializar ================  -->
    <!-- ===============================================  -->
    <target name="inicializar"   description="Inicializar variables">
        <echo message="Inicializando" />
        <!-- Ruta del directorio con los ficheros fuente que queremos compilar (*.java) -->
        <property name="fuente" value="src" />
        <!-- Ruta del directorio donde queremos que deje los ficheros compilados (*.class) -->
        <property name="destino" value="class" />
        <!--Para usar las librerias desde compilar y ejecutar-->
        <path id="librerias">
             <fileset dir="libs" includes="**/*.jar"/>
        </path>
        <!--Para el manifest en el jar-->
        <pathconvert property="libs" pathsep=" " refid="librerias">
            <mapper>
                <chainedmapper>
                    <flattenmapper/>
                    <globmapper from="*.jar" to="libs/*.jar"/>
                </chainedmapper>
            </mapper>
        </pathconvert>
    </target>

    <!-- ===============================================  -->
    <!-- Accion limpiar ================  -->
    <!-- ===============================================  -->
    <target name="limpiar"   description="Borrar archivos temporales">
        <echo message="Limpiando el proyecto" />
        <delete dir="class"/>
    </target>

    <!-- ===============================================  -->
    <!-- Accion borrar ================  -->
    <!-- ===============================================  -->
    <target name="borrar"   description="Borrar archivos temporales">
        <echo message="Borrar archivo jar" />
        <delete file="Main.jar" />
    </target>

    <!-- ===============================================  -->
    <!-- Accion compilar (comando javac) ===============  -->
    <!-- ===============================================  -->
    <target name="compilar" depends="inicializar">
        <echo message="Creando el directorio class" />
        <mkdir dir="class"/>
        <!--Copiando archivos no .java al directorio class-->
        <copy todir="${destino}">
                <fileset dir="${fuente}">
                    <include name="**/*.gif"/>
                    <include name="**/*.jpg"/>
                    <include name="**/*.png"/>
                    <include name="**/*.properties"/>
                    <include name="**/*.xml"/>
                    <include name="**/*.sql"/>
                </fileset>
        </copy>
        <echo message="Compilando el codigo" />
        <javac srcdir="${fuente}" destdir="${destino}" includeAntRuntime="false">
            <classpath refid="librerias"></classpath>
        </javac>
    </target>

    <!-- ===============================================  -->
    <!-- Accion ejecutar (comando java) ================  -->
    <!-- ===============================================  -->
    <target name="ejecutar" depends="compilar">
        <echo message="Ejecutando el archivo " />
        <java classname="vista/Main" fork="true">
            <classpath>
                <pathelement path="${destino}"/>
                <path refid="librerias"></path>
            </classpath>
            <!-- Descomentar si queremos pasar un argumento -->
            <!-- <arg value="primer argumento" /> !-->
        </java>
    </target>

    <!-- ===============================================  -->
    <!-- Accion construir (comando jar) ================  -->
    <!-- ===============================================  -->
    <target name="construir" depends="compilar,borrar" >
        <jar destfile="Main.jar">
            <!--** Para incluir todos los elementos de la carpeta destino-->
            <fileset dir="${destino}" includes="**"></fileset>
            <!--Lo que se incluira en el archivo de manifiesto-->
            <manifest>
                <attribute name="Main-Class" value="vista/Main"/>
                <attribute name="Class-Path" value="${libs}"/>
            </manifest>
        </jar>
    </target>
</project>

Este archivo debe ir en el directorio base del proyecto, el cual nos deberia quedar de la siguiente manera:

directorios

5. Finalmente debemos editar los comandos en Geany para Compilar, Ejecutar y Construir el jar. Nos deberia quedar de la siguiente manera:

configuraciones

Hay que tener cuidado de poner “%p” frente a cada comando. Como se puede ver los comandos son simples, la seccion de comandos independientes puede estar vacia.

Ahora si necesitamos Compilar pulsaremos el boton de compilacion de Geany, asi mismo para Ejecutar y Construir.  Dentro del archivo build.xml tambien hay dos opciones más,  la primera “limpiar” que borra la carpeta “class” y su contenido; y la segunda “borrar” que borra el archivo jar creado por el comando “Construir”. Para llamar a estas funciones podemos usar el terminal embebido de Geany, ubicarnos en la carpeta base del proyecto y escribir “ant limpiar” o “ant borrar” según como se necesite. Aqui un ejemplo:

limpiar

Y aqui una captura de un proyecto java que hice en Geany:

Compilando:

compilando

Ejecutando:

Ejecutar

Esta configuracion incluso sirve para cuando hacemos proyectos con JPA ya sea con Hibernate JPA o con Eclipse JPA para ello creamos un directorio llamado META-INF dentro de la carpeta “src”  y creamos o pegamos el archivo persistence.xml. Aqui un modelo:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="nombreProyectoPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.hibernate.ejb.HibernatePersistence</provider>
    <!--Modelo de agregación de clase-->
    <class>paquete.subpaquete.nombreClase</class>
    <properties>
      <!--Poner nombre base de datos-->
      <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/nombreBD?zeroDateTimeBehavior=convertToNull"/>
      <property name="javax.persistence.jdbc.password" value="clave"/>
      <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
      <property name="javax.persistence.jdbc.user" value="usuario"/>
      <property name="hibernate.cache.provider_class" value="org.hibernate.cache.NoCacheProvider"/>
      <property name="hibernate.hbm2ddl.auto" value="update"/>
    </properties>
  </persistence-unit>
</persistence>

Claro está que se debe poner los jars correspondientes dentro de la carpeta “libs”.

Espero que este pequeño tutorial les sirva, si tienen alguna duda comenten 🙂 …

Linux, Software Libre, Ubuntu

Solución error skype ubuntu 13.04

skype

Hace tiempo que ya no escribia en el blog, ahora vengo con un tip para solucionar el problema de que skype no inicia luego de instalar en ubuntu 13.04. Segun lei esto pasa en equipos con tarjetas de video nvidia y ati.

Bien lo primero que debemos hacer es renombrar ‘skype’ por  ‘skype-bin’ para ello ponemos lo siguiente en el terminal:

sudo mv /usr/bin/skype /usr/bin/skype-bin

Luego creamos como root el archivo skype en /usr/bin con el comando:

sudo gedit /usr/bin/skype

y dentro pegamos lo siguiente :

#!/bin/sh
export LD_PRELOAD=/usr/lib/i386-linux-gnu/mesa/libGL.so.1
exec skype-bin "$@"

y finalmente aplicamos permisos al archivo con el comando :

sudo chmod 0755 /usr/bin/skype

Si deseamos revertir los cambios solo escribimos lo siguiente en el terminal:

sudo rm /usr/bin/skype
sudo mv /usr/bin/skype-bin /usr/bin/skype

Fuente: http://www.webupd8.org/2013/04/fix-skype-not-working-in-ubuntu-1304.html

Java, Linux, Programacion, Software Libre, Ubuntu

Programando en Java con Geany bajo Ubuntu/LinuxMint

Cansado de la pesadez de los IDES para Java y sus continuos cuelgues requería de una buena opción para programar en java . Desde hace tiempo he utilizado Geany para html y  css así que decidí adaptarlo para programar en java ya que tambien es soportado por Geany.

Para empezar creamos un proyecto, para ello vamos a Proyecto->Nuevo y como nombre le ponemos PruebaJava, dentro creamos una estructura  de la siguiente manera:

directorios

Dentro del directorio src/ ira el código fuente o los archivos .java en META-INF/, el archivo manifest necesario para definir la clase principal e incluirlo dentro del jar generado, en el directorio dist/ irá el jar para distribución de la aplicación y en class/ irán todos los archivos compilados de java es decir los archivos .class.

Una vez definida la estructura ahora debemos poner los comandos necesarios en Geany, para compilación, ejecución y construcción del jar de acuerdo a la estructura antes descrita.

Antes crearemos el archivo principal de la aplicación dentro de src, y le asignamos cualquier nombre, este nos servirá para realizar las pruebas. En mi caso el archivo se llamará Main.java y le añadiré lo siguiente:

import javax.swing.*;
public class Main{
    public static void main(String args[])
    {
        JOptionPane.showMessageDialog(null,"Mensaje de Prueba");
    }
}

DEFINIENDO COMANDOS

Luego de crear la clase de prueba vamos al menú Construir, luego a Establecer Comandos de Construcción, se nos abrirá otra ventana donde debemos asignar los comandos para compilar, ejecutar y construir el jar, estos se muestran a continuación:

– Para compilar el archivo y guardar el .class en el directorio class/:

     javac -d ../class %f

– Para ejecutar la aplicación sin crear el .jar

     java -cp ../class %e

Antes de crear el jar debemos crear un archivo manifest. Dentro de META-INF/ creamos un archivo con el nombre MANIFEST.MF y dentro ponemos lo siguiente cuidando de añadir un enter luego de la palabra Main:

     Manifest-Version: 1.0
     Main-Class: Main

– Para crear el .jar debemos pulsar en el segundo botón de la sección Comandos de java, nos aparecerá un cuadro de diálogo donde debemos poner la palabra Construir , una vez hecho esto asignamos el comando siguiente:

     jar cfvm %e.jar ../META-INF/MANIFEST.MF -C ../class/ .

cuidar de no omitir el punto al final del comando. Por defecto con este comando el jar se generaría dentro del directorio src por lo que para que se genere dentro del directorio dist/ en directorio de trabajo ponemos %pdist.

Al final debe quedarnos de esta manera.

comandos

El %d que se muestra frente a los comandos, es para que se situe en el directorio de codigo fuente, es opcional ponerlo.

botones

Ahora para probar la aplicación tenemos los siguientes botones en Geany, el primero será para Compilar, el tercero para Ejecutar la aplicación y el botón de en medio será para Construir el .jar.

Al compilar el archivo en la Ventana de Mensajes en la pestaña Compilador nos debe aparecer algo parecido a esto:

compilacion

si abrimos el directorio class dentro debe haber un archivo Main.class.

Si ejecutamos la aplicación pulsando en el tercer botón nos debe aparecer lo siguiente:

mensaje

Si hasta alli ha salido todo bien al pulsar en el botón Construir aparecerá en la ventana de mensajes, en la pestaña Compilador algo parecido a lo siguiente:

construccion

Esto significa que el .jar se creo correctamente. Al final todo nos deberia quedar asi:

ventana_geany

Bueno eso es todo, ahora si a crear aplicaciones java con geany….

Actualización:

Una forma mas facil de programar en Java con Geany aquí

Linux, Software Libre, Ubuntu

Instalando controlador inalambrico Broadcom en Linux Mint

Imagen

Hay algunos problemas al instalar el controlador wifi en Ubuntu debido a que principalmente no venian algunos paquetes instalados por defecto, pues bien a mi criterio Linux Mint viene mejor preparado y mas completo que su padre Ubuntu y por ello he decido compartir una forma de instalar los controladores del wifi y sin tener conexión a internet.

1. Como primer paso luego de haber instalado satisfactoriamente Linux Mint en nuestro computador debemos acceder a nuestro home y luego ir a la siguiente dirección /usr/share/local-repository/binary o una forma más rápida puede ser presionando las teclas Ctrl+L y luego pegando la dirección.

2. Una vez en el directorio encontraremos algunos paquetes que podemos instalar, a mi criterio los 2 primeros que se muestran en la imagen de este post nos servirían para instalar el controlador inalámbrico broadcom . En caso de que el paquete tenga dependencias las podemos encontrar en la misma carpeta.

Bueno eso seria todo, espero que les sirva y recomienden Linux Mint a sus amigos. Larga vida a Linux Mint 🙂 ….

Linux, Noticias, Software Libre

Linux Mint Nadia 14 RC ya en repositorios

Mint Nadia

Linux Mint Nadia 14 RC ya esta en repositorios para testeo público, en versiones de 32 y 64 bits con entornos Cinnamon y Mate. Para los que deseen probar estos isos los pueden descargar desde los siguientes links:

Cinnamon:

linuxmint-14-cinnamon-dvd-32bit-rc.iso
linuxmint-14-cinnamon-dvd-64bit-rc.iso

Mate:

linuxmint-14-mate-dvd-32bit-rc.iso
linuxmint-14-mate-dvd-64bit-rc.iso
Linux, Software Libre, Ubuntu

Solucion al problema instalacion driver broadcom en ubuntu 12.10

Hace poco salio el tan esperado Ubuntu 12.10 Quantal Quetzal, como muchos habran visto viene con algunas innovaciones y una de ellas es en la instalación de drivers propietarios, ahora dare una solución para la instalacion del driver broadcom en mi caso Broadcom Corporation BCM4322 802.11a/b/g/n.

Para empezar debemos ir al terminal y escribimos:

sudo software-properties-gtk&exit

Luego activamos todos los repositorios, excluyendo los del cd de ubuntu. Una vez hecho esto, cerramos la ventana y abrimos el terminal, y escribimos sudo apt-get update para actualizar las fuentes

Seguidamente debemos instalar las fuentes del kernel y tambien las cabeceras para ello escribimos:

sudo apt-get install linux-sources linux-headers-3.5.0-17-generic

Por ultimo ya podemos instalar los drivers desde el software-properties, synaptic o desde el terminal con el comando:

sudo apt-get install bcmwl-kernel-source

Y ya deberiamos tener nuestro driver funcionando a la perfección.. 🙂