<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Manual Web &#187; código fuente</title>
	<atom:link href="http://www.manualweb.net/tag/codigo-fuente/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.manualweb.net</link>
	<description>www.manualweb.net</description>
	<lastBuildDate>Tue, 27 Sep 2011 11:37:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Mi primera aplicación Java</title>
		<link>http://www.manualweb.net/java/mi-primera-aplicacion-java/</link>
		<comments>http://www.manualweb.net/java/mi-primera-aplicacion-java/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 23:13:11 +0000</pubDate>
		<dc:creator>manualweb</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[básico]]></category>
		<category><![CDATA[byte codes]]></category>
		<category><![CDATA[CLASSPATH]]></category>
		<category><![CDATA[código fuente]]></category>
		<category><![CDATA[compilador]]></category>
		<category><![CDATA[Hola Mundo]]></category>
		<category><![CDATA[java.lang.NoClassDefFoundError]]></category>
		<category><![CDATA[javac]]></category>
		<category><![CDATA[JRE]]></category>
		<category><![CDATA[PATH]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[SUN]]></category>
		<category><![CDATA[SUN Download Manager]]></category>

		<guid isPermaLink="false">http://www.manualweb.net/?p=98</guid>
		<description><![CDATA[Empezando con Java Proceso de instalación Hola Mundo Compilando mi aplicación Ejecutando mi aplicación Empezando con Java Me siento ante el ordenador y pienso que voy a escribir mi primera aplicación Java. ¿Cómo? ¿Qué necesito? ¿Por dónde empiezo?...... (las dudas me asaltan). No te preocupes, para eso estamos nosotros. La verdad es que cualquier libro [...]]]></description>
			<content:encoded><![CDATA[<div class="toc">
<ol>
<li><a href="http://www.manualweb.net/java/mi-primera-aplicacion-java/#toc-empezando-con-java">Empezando con Java</a></li>
<li><a href="http://www.manualweb.net/java/mi-primera-aplicacion-java/#toc-proceso-de-instalacin">Proceso de instalación</a></li>
<li><a href="http://www.manualweb.net/java/mi-primera-aplicacion-java/#toc-hola-mundo">Hola Mundo</a></li>
<li><a href="http://www.manualweb.net/java/mi-primera-aplicacion-java/#toc-compilando-mi-aplicacin">Compilando mi aplicación</a></li>
<li><a href="http://www.manualweb.net/java/mi-primera-aplicacion-java/#toc-ejecutando-mi-aplicacin">Ejecutando mi aplicación</a></li>
</ol>
</div>
<h3 id="toc-empezando-con-java">Empezando con Java</h3>
<p>Me siento ante el ordenador y pienso que voy a escribir mi primera aplicación Java. ¿Cómo? ¿Qué necesito? ¿Por dónde empiezo?...... (las dudas me asaltan). No te preocupes, para eso estamos nosotros.</p>
<p>La verdad es que cualquier libro que se precie empezaría con una introducción tediosa de las características del lenguaje que vamos a estudiar. Yo no voy ha hacer eso. No porque este en contra de las introducciones, sino porque me encuentro incapaz de escribir, por el momento, una. Si bien, no me quito de la mete la idea de explicar las características del lenguaje java, las cuales, nos aclararan un poco más las sutilezas de este lenguaje.</p>
<p>Antes de crear mi primer programa en Java deberé de asegurarme que tengo en el equipo el siguiente software:</p>
<ul>
<li>Un editor de textos (Por ejemplo, el bloc de notas de Windows, <a title="Wim" href="http://www.vim.org/download.php#pc">Wim</a>, <a title="AM-Notebook" href="http://aignes.com/notebook.htm">AM-Notebook</a>, <a title="Win32Pad" href="http://www.gena01.com/win32pad">Win32Pad</a>, <a title="EditPadLite" href="http://www.editpadpro.com/editpadlite.html">EditPad Lite</a>, <a title="NotePad2" href="http://www.flos-freeware.ch/notepad2.html">NotePad2</a>,...)</li>
<li>El compilador de Java</li>
</ul>
<p>Supongo que el primero, por descontado, lo tendréis a mano. O, al menos, algo similar. Para los usuarios avanzados en el tema les dejare utilizar el UltraEdit y similares.</p>
<p>El compilador de java será el que nos permita transformar nuestro código fuente en programas ejecutables. O.... bueno, podríamos decir que en algo similar a programas ejecutables. Ya veremos en que.</p>
<p>Para instalarnos el compilador deberemos de descargárnosle de la web de SUN (que son los que se inventaron esto del Java, aunque eso es historia de otro tema).</p>
<p>A día de hoy podemos bajarnos la versión 6 del compilador desde <a title="Descargar Compilador Java" href="http://java.sun.com/javase/downloads/index.jsp">http://java.sun.com/javase/downloads/index.jsp</a>. De ella nos podemos bajar el kit de desarrollo (Java SE Development Kit) y el entorno de ejecución (Java SE Runtime Environment).</p>
<p>La descarga del software la tendremos que hacer desde el SUN Download Manager.</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/sun_download_manager.png"><img class="size-full wp-image-199 aligncenter" title="sun_download_manager" src="http://www.manualweb.net/wp-content/uploads/2009/09/sun_download_manager.png" alt="sun_download_manager" width="382" height="235" /></a></p>
<h3 id="toc-proceso-de-instalacin">Proceso de instalación</h3>
<p>En el proceso de instalación deberemos de introducir algunos datos como el directorio de instalación del compilador y las partes del software que queremos instalar. Entre estas partes podremos elegir las herramientas de desarrollo, el código fuente, las demos y el entorno de ejecución. Es recomendable instalar todas. Más vale que sobre a que falte.</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/java_install.png"><img class="size-full wp-image-204 aligncenter" title="java_install" src="http://www.manualweb.net/wp-content/uploads/2009/09/java_install.png" alt="java_install" width="303" height="231" /></a></p>
<h3 id="toc-hola-mundo">Hola Mundo</h3>
<p>Ahora que tenemos todo el entorno de desarrollo instalado nos lanzamos a desarrollar, ni más, ni menos, que nuestra primera aplicación Java.</p>
<p>Lógicamente, nuestra primera aplicación no podría ser otra que “Hola Mundo”. Por si algún despistado todavía no se ha enterado de que va esta aplicación, decirle, simplemente, que es mostrar por pantalla la frase “Hola Mundo”. Complejo, ¿verdad?.</p>
<p>El código de nuestra aplicación es el siguiente:</p>
<pre class="java"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> MiPrimeraAplicacion <span style="color: #66cc66;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #993333;">void</span> main <span style="color: #66cc66;">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">String</span></a><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> args<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ASystem+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span style="color: #aaaadd; font-weight: bold;">System</span></a>.<span style="color: #006600;">out</span>.<span style="color: #006600;">println</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Hola Mundo&quot;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre>
<p>Este fichero lo guardaremos como <strong>MiPrimeraAplicacion.java</strong>. Este será nuestro fichero con el código fuente.</p>
<p>Deberemos de tener cuidado en cómo escribimos el nombre del fichero ya que Java es un lenguaje sensible a mayúsculas, es decir, que no es lo mismo (ya lo dice Alejandro Sanz) poner miprimeraaplicacion o MiprimeraAplicacion o MIPRIMERAAPLICACION o ...</p>
<p>El nombre del fichero deberá de coincidir con el nombre de la clase principal.</p>
<pre>public class MiPrimeraAplicacion &lt;--&gt; MiPrimeraAplicacion.java</pre>
<p>La verdad es que a estas alturas de la película no nos vamos a centrar en que significa cada una de las líneas de código. Si bien, no es que haya que ser muy listo, para, al menos, darnos cuenta de que con la sentencia System.out.println se pueden volcar contenidos a la pantalla del ordenador.</p>
<h3 id="toc-compilando-mi-aplicacin">Compilando mi aplicación</h3>
<p>El compilador de java se llama javac (la c es de compilador, claro). Este no deja de ser un programa ejecutable como otro cualquiera.</p>
<p>Para encontrarle y no utilizar las funciones de búsqueda de Windows, podemos dirigirnos a</p>
<pre>C:\Program Files\Java\jdk1.6.0_16\bin</pre>
<p>Suponiendo que lo hemos instalado en la unidad C:. E incluso, podemos arriesgarnos a ejecutar el programa.</p>
<pre>C:\Program Files\Java\jdk1.6.0_16\bin\javac</pre>
<p style="text-align: left;">A si que veremos algo así por pantalla...</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/javac.png"><img class="size-full wp-image-207 aligncenter" title="javac" src="http://www.manualweb.net/wp-content/uploads/2009/09/javac.png" alt="javac" width="398" height="323" /></a></p>
<p>Uff....vaya cantidad de opciones...</p>
<p>Para compilar mi aplicación deberé de poner por consola lo siguiente...</p>
<pre>C:\Program Files\Java\jdk1.6.0_16\bin\javac MiPrimeraAplicacion.java</pre>
<p>Esta ejecución supone que tenemos el código fuente en el mismo directorio que el compilador, si bien, eso no será lo más corriente. Para poder ejecutar el compilador en cualquier directorio de nuestra máquina deberemos de insertar el directorio donde se ubica el compilador en la variable de entorno PATH. Para ello escribiremos lo siguiente....</p>
<pre>SET PATH = %PATH%;C:\Program Files\Java\jdk1.6.0_16\bin\</pre>
<p>Ahora podremos ejecutar el compilador desde cualquier sitio. Así, debería de funcionarnos lo siguiente...</p>
<pre>C:\WORK\Ejemplos1\javac MiPrimeraAplicacion.java</pre>
<p style="text-align: left;">Si es que tenemos el código fuente en el directorio C:\WORK\Ejemplos1. La salida por pantalla será la siguiente...</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/javac2.jpg"><img class="size-full wp-image-208 aligncenter" title="javac2" src="http://www.manualweb.net/wp-content/uploads/2009/09/javac2.jpg" alt="javac2" width="399" height="80" /></a></p>
<p style="text-align: left;">Vamos que si no nos dice nada de nada es que lo hemos hecho muy bien. En el caso de que hubiéramos metido la pata saldrían cosas como las siguientes...</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/javacError.jpg"><img class="size-full wp-image-209 aligncenter" title="javacError" src="http://www.manualweb.net/wp-content/uploads/2009/09/javacError.jpg" alt="javacError" width="399" height="98" /></a></p>
<p>Esto es que el nombre de la clase y del fichero no existe. Múltiples errores se nos pueden producir.</p>
<h3 id="toc-ejecutando-mi-aplicacin">Ejecutando mi aplicación</h3>
<p>Una vez que hemos ejecutado correctamente la compilación, sorpresa, no obtenemos un fichero ejecutable, es decir, un .EXE.</p>
<p>Y es que llegados a este punto debemos de ver una de las características del lenguaje Java (Si hubiera realizado una introducción no me pasaría esto).</p>
<p>Java es un lenguaje multiplataforma. Una de las frases más celebres que proclaman todos los adeptos de Java es <em>"write once, run anywhere”</em>. Esto quiere decir que, una vez creado el fichero fuente y compilado, el resultado (llamémoslo, de momento, nuestro pseudo-fichero ejecutable) lo podemos ejecutar en cualquier otro ordenador.</p>
<p>Revisemos algún concepto sobre compiladores. En un proceso de compilación normal seguimos los siguientes pasos:<br />
<img class="aligncenter size-full wp-image-210" title="flujo" src="http://www.manualweb.net/wp-content/uploads/2009/09/flujo.jpg" alt="flujo" width="535" height="117" /></p>
<p>Esto nos viene a decir que si yo compilo un programa, por ejemplo, en C, en mi máquina Windows 2000 sobre una plataforma Intel Pentium 4. Solo va a funcionar en maquinas con esa configuración. Si yo llevo mi programa a una máquina con UNIX en una plataforma Solaris no me va a funcionar.</p>
<p>¿Qué hace java para que eso pueda hacerse?. Java, más en concreto los lenguajes interpretados, el compilador genera un código intermedio (más o menos legible). En el caso de Java, el código intermedio se llama Byte Codes. Este código no es dependiente ni del sistema operativo ni de la máquina en el cual lo ejecutamos.</p>
<p>En un segundo paso, un interprete, ejecutará dichos Byte Codes en la plataforma que queramos. Es decir, que el interprete ya es especifico del sistema operativo y de la plataforma de ejecución. El esquema quedaría de la siguiente forma...<br />
<img class="aligncenter size-full wp-image-211" title="flujo2" src="http://www.manualweb.net/wp-content/uploads/2009/09/flujo2.jpg" alt="flujo2" width="535" height="117" /></p>
<p style="text-align: left;">Centrándonos, nuevamente, en nuestra aplicación, encontraremos un fichero .class que será el fichero con los Byte Codes. Hagamos un dir...</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/dir.jpg"><img class="size-full wp-image-212 aligncenter" title="dir" src="http://www.manualweb.net/wp-content/uploads/2009/09/dir.jpg" alt="dir" width="399" height="130" /></a></p>
<p>El interprete de dichos ByteCodes se llama java. Lo podemos encontrar en el mismo directorio en el que se encontraba el compilador.</p>
<pre>C:\Program Files\Java\jdk1.6.0_16\bin\</pre>
<p>Volvamos a arriesgarnos y ejecutemos el compilador. Recordad que al tener el directorio en la variable de entorno PATH podremos estar en cualquier directorio.</p>
<pre>C:\j2sdk1.4.2_03\bin\java</pre>
<p>Este, tiene más opciones que el compilador...</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/javaexe.jpg"><img class="size-full wp-image-213 aligncenter" title="javaexe" src="http://www.manualweb.net/wp-content/uploads/2009/09/javaexe.jpg" alt="javaexe" width="399" height="197" /></a></p>
<p>Para ejecutar nuestra aplicación escribiremos</p>
<pre>C:\WORK\Ejemplos1\java MiPrimeraAplicacion</pre>
<p>Ahhhhhhhhhhhhhhh............ ya me lo he cargado ... Exception in thread “main” java.lang.NoClassDefFoundError ¡y yo con estos pelos!</p>
<p>Es normal que la primera vez que ejecutemos nos pueda suceder esto. A si que no nos preocupemos. Esto sucede debido a que el interprete java busca los ficheros .class en los directorios que define la variable de entorno CLASSPATH.</p>
<p>Es por ello que si queremos ejecutar una clase que esta en el directorio actual deberemos de tener, al menos, dicho directorio en la variable de entorno. Cuando escribamos aplicaciones más grandes utilizaremos clases creadas por Java, a si que deberemos de tener en el CLASSPATH la ruta de dichas clases. Para solucionar todo este embrollo podemos escribir lo siguiente.</p>
<pre>Set CLASSPATH=.</pre>
<p>Notar que el punto hace referencia al directorio actual. Si tu eres una de esas personas que no puede dejar nada fuera de control, te recomiendo que te leas el documento <a title="Microsoft Windows Installation" href="http://java.sun.com/javase/6/webnotes/install/jdk/install-windows.html">Microsoft Windows Installation (32-bit)</a> . Todo lo que siempre quisiste saber sobre la variable CLASSPATH y nunca te atreviste a preguntar. <img src='http://www.manualweb.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Ahora, ya si que podremos ejecutar nuestra aplicación...</p>
<pre>C:\WORK\Ejemplos1\java MiPrimeraAplicacion</pre>
<p>Al fin, el resultado esperado...</p>
<p style="text-align: center;"><a href="http://www.manualweb.net/wp-content/uploads/2009/09/MiPrimeraAplicacion.jpg"><img class="size-full wp-image-214 aligncenter" title="MiPrimeraAplicacion" src="http://www.manualweb.net/wp-content/uploads/2009/09/MiPrimeraAplicacion.jpg" alt="MiPrimeraAplicacion" width="398" height="64" /></a></p>

<div class="sociable">
<div class="sociable_tagline">
<strong>Comparteme:</strong>
</div>
<ul>
	<li class="sociablefirst"><a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F&amp;title=Mi%20primera%20aplicaci%C3%B3n%20Java&amp;bodytext=%0AEmpezando%20con%20Java%0AProceso%20de%20instalaci%C3%B3n%0AHola%20Mundo%0ACompilando%20mi%20aplicaci%C3%B3n%0AEjecutando%20mi%20aplicaci%C3%B3n%0D%0AEmpezando%20con%20Java%0D%0AMe%20siento%20ante%20el%20ordenador%20y%20pienso%20que%20voy%20a%20escribir%20mi%20primera%20aplicaci%C3%B3n%20Java.%20%C2%BFC%C3%B3mo%3F%20%C2%BFQu%C3%A9%20necesito%3F%20%C2%BFPor%20d%C3%B3nd" title="Digg"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://sphinn.com/index.php?c=post&amp;m=submit&amp;link=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F" title="Sphinn"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/sphinn.png" title="Sphinn" alt="Sphinn" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F&amp;title=Mi%20primera%20aplicaci%C3%B3n%20Java&amp;notes=%0AEmpezando%20con%20Java%0AProceso%20de%20instalaci%C3%B3n%0AHola%20Mundo%0ACompilando%20mi%20aplicaci%C3%B3n%0AEjecutando%20mi%20aplicaci%C3%B3n%0D%0AEmpezando%20con%20Java%0D%0AMe%20siento%20ante%20el%20ordenador%20y%20pienso%20que%20voy%20a%20escribir%20mi%20primera%20aplicaci%C3%B3n%20Java.%20%C2%BFC%C3%B3mo%3F%20%C2%BFQu%C3%A9%20necesito%3F%20%C2%BFPor%20d%C3%B3nd" title="del.icio.us"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F&amp;t=Mi%20primera%20aplicaci%C3%B3n%20Java" title="Facebook"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.mixx.com/submit?page_url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F&amp;title=Mi%20primera%20aplicaci%C3%B3n%20Java" title="Mixx"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/mixx.png" title="Mixx" alt="Mixx" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F&amp;title=Mi%20primera%20aplicaci%C3%B3n%20Java&amp;annotation=%0AEmpezando%20con%20Java%0AProceso%20de%20instalaci%C3%B3n%0AHola%20Mundo%0ACompilando%20mi%20aplicaci%C3%B3n%0AEjecutando%20mi%20aplicaci%C3%B3n%0D%0AEmpezando%20con%20Java%0D%0AMe%20siento%20ante%20el%20ordenador%20y%20pienso%20que%20voy%20a%20escribir%20mi%20primera%20aplicaci%C3%B3n%20Java.%20%C2%BFC%C3%B3mo%3F%20%C2%BFQu%C3%A9%20necesito%3F%20%C2%BFPor%20d%C3%B3nd" title="Google Bookmarks"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a></li>
	<li><a rel="nofollow"  href="https://favorites.live.com/quickadd.aspx?marklet=1&amp;url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F&amp;title=Mi%20primera%20aplicaci%C3%B3n%20Java" title="Live"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/live.png" title="Live" alt="Live" class="sociable-hovers" /></a></li>
	<li class="sociablelast"><a rel="nofollow"  href="http://meneame.net/submit.php?url=http%3A%2F%2Fwww.manualweb.net%2Fjava%2Fmi-primera-aplicacion-java%2F" title="Meneame"><img src="http://www.manualweb.net/wp-content/plugins/sociable/images/meneame.png" title="Meneame" alt="Meneame" class="sociable-hovers" /></a></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.manualweb.net/java/mi-primera-aplicacion-java/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

