Herramientas de usuario

Herramientas del sitio


clase:daw:proyecto:1eval:tema01

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
clase:daw:proyecto:1eval:tema01 [2025/11/03 11:37] – creado - editor externo 127.0.0.1clase:daw:proyecto:1eval:tema01 [2026/10/22 09:08] (actual) – [UTF-8] Lorenzo
Línea 355: Línea 355:
  
 Para terminar, en vez de instalar el JDK se puede seguir el mismo procedimiento para instalar el JRE. Para terminar, en vez de instalar el JDK se puede seguir el mismo procedimiento para instalar el JRE.
 +
 +
 +===== Instalar Maven =====
 +Maven es la herramienta que compila y empaqueta los proyectos Java, así que en el servidor hace falta tenerlo instalado igual que el JDK. Se instala de la misma forma: descargar, descomprimir y definir las variables de entorno.
 +
 +Para instalar Maven:
 +  * Descargar el fichero ''tar.gz'' desde [[https://maven.apache.org/download.cgi|Maven download]] (el que se llama //Binary tar.gz archive//)
 +  * Descomprime el fichero ''tar.gz'' en la carpeta actual y se creará una carpeta con Maven:
 +<sxh bash>
 +tar -xf apache-maven-3.10.0-bin.tar.gz -C .
 +</sxh>
 +
 +Definir las variables de entorno:
 +
 +  * Maven necesita saber dónde está el JDK, así que primero debe existir ''JAVA_HOME'':
 +<sxh bash>
 +export JAVA_HOME=/carpeta/instalacion/jdk-21.0.8+9
 +</sxh>
 +
 +  * Crea la variable de entorno ''MAVEN_HOME'' y añade su carpeta ''bin'' al ''PATH'' para poder ejecutar ''mvn'' desde cualquier sitio:
 +<sxh bash>
 +export MAVEN_HOME=/carpeta/instalacion/apache-maven-3.10.0
 +export PATH=$MAVEN_HOME/bin:$PATH
 +</sxh>
 +
 +Comprobar que todo está instalado:
 +
 +  * Muestra la versión de Maven con:
 +<sxh bash>
 +mvn -version
 +</sxh>
 +
 +Además de la versión de Maven, la salida muestra la versión y la carpeta del JDK que está usando. Si no es la de ''JAVA_HOME'', es que la variable no está definida.
 +
 +Compilar y empaquetar un proyecto:
 +
 +<sxh bash>
 +cd /carpeta/del/proyecto
 +mvn package
 +</sxh>
 +
 +El ''jar'' resultante queda en la carpeta ''target''.
 +
 +<note tip>
 +El nombre del fichero ''apache-maven-3.10.0-bin.tar.gz'' y de la carpeta ''apache-maven-3.10.0'' serán distintos según la versión de Maven que estés usando.
 +</note>
 +
 +<note tip>
 +Las variables ''JAVA_HOME'', ''MAVEN_HOME'' y ''PATH'' definidas con ''export'' solo duran mientras está abierta esa terminal. Para no tener que definirlas cada vez, se añaden las tres líneas de ''export'' al final del fichero ''~/.bashrc''.
 +</note>
  
  
Línea 447: Línea 497:
  
 Como en NodeJS se usa JavaScript, podemos usar todo lo que sabemos de JavaScript en un programa de node. Como en NodeJS se usa JavaScript, podemos usar todo lo que sabemos de JavaScript en un programa de node.
 +
 +
 +===== Ejecutar herramientas con npx =====
 +Muchas herramientas de desarrollo web se distribuyen como paquetes de npm que son programas de terminal: generadores de proyectos, instaladores, compiladores. Para usarlas hay que entender qué hace cada orden:
 +
 +  * ''npm'' **instala paquetes, no ejecuta nada**. Lo único que sabe hacer es dejar un paquete en ''node_modules'' del proyecto o en la carpeta global. No puede crear ficheros en tu proyecto ni preguntarte nada.
 +  * ''npx'' **ejecuta el programa de un paquete**. Si el paquete no está instalado, lo descarga a una caché, lo ejecuta y no deja nada instalado.
 +
 +Por eso un generador de proyectos como ''create-vite'' se lanza con ''npx'' y no con ''npm'': es un programa que se ejecuta una vez para crear ficheros. Hacerlo con ''npm'' serían tres pasos, instalarlo en global, ejecutarlo y desinstalarlo:
 +
 +<sxh bash>
 +npm install -g create-vite
 +create-vite
 +npm uninstall -g create-vite
 +</sxh>
 +
 +''npx create-vite'' hace esos tres pasos en uno.
 +
 +  * Ejecutar una herramienta. Si no está instalada, ''npx'' la descarga y la ejecuta
 +
 +<sxh bash>
 +npx cowsay "Hola Mundo"
 +</sxh>
 +
 +  * Ejecutar la última versión del paquete, aunque haya otra en la caché. Es lo habitual en los generadores de proyectos, que se lanzan una sola vez
 +
 +<sxh bash>
 +npx create-vite@latest
 +</sxh>
 +
 +  * Si el paquete está instalado en el proyecto (en ''node_modules''), ''npx'' ejecuta esa versión. Así no hace falta instalar nada de forma global
 +
 +<sxh bash>
 +npm install typescript
 +npx tsc --version
 +</sxh>
 +
 +<note tip>
 +Resumen: lo que el proyecto necesita para funcionar o compilar (una librería, ''typescript'') se instala con ''npm install'', que lo apunta en ''package.json''. Un programa que se ejecuta una vez y no forma parte del proyecto (un generador, un instalador) se lanza con ''npx''.
 +</note>
  
  
Línea 524: Línea 614:
  
  
-^  Carácter  ^  Code point  ^  UTF-8  ^  Interpretacion erronea en ISO 8859-1  ^ +^  Carácter  ^  Code point  ^  UTF-8  ^  Número en ISO 8859-1  ^  Interpretación errónea en ISO 8859-1  ^ 
-|  á  |  ''U+00E1''  |  ''C3 A1''  |   Ã¡  | +|  á  |  ''U+00E1''  |  ''C3 A1''  |  ''E1'' (225)  |  Ã¡  | 
-|  é  |  ''U+00E9''  |  ''C3 A9''  |  é  | +|  é  |  ''U+00E9''  |  ''C3 A9''  |  ''E9'' (233)  |  é  | 
-|  í  |  ''U+00ED''  |  ''C3 AD''  |  Ã³  | +|  í  |  ''U+00ED''  |  ''C3 AD''  |  ''ED'' (237)  |  í  | 
-|  ó  |  ''U+00F3''  |  ''C3 B3''  |  Ã-  | +|  ó  |  ''U+00F3''  |  ''C3 B3''  |  ''F3'' (243)  |  ó  | 
-|  ú  |  ''U+00FA''  |  ''C3 BA''  |  ú  | +|  ú  |  ''U+00FA''  |  ''C3 BA''  |  ''FA'' (250)  |  ú  | 
-|  ñ  |  ''U+00F1''  |  ''C3 B1''  |  ñ  | +|  ñ  |  ''U+00F1''  |  ''C3 B1''  |  ''F1'' (241)  |  ñ  | 
-|  💩  |  ''U+1F4A9''  |  ''F0 9F 92 A9''  |  💩  |+|  💩  |  ''U+1F4A9''  |  ''F0 9F 92 A9''  |  No existe  |  💩  | 
 +|  A  |  ''U+0041''  |  ''41''  |  ''41'' (65)  |  A  | 
 +|  B  |  ''U+0042''  |  ''42''  |  ''42'' (66)  |  B  | 
 +|  C  |  ''U+0043''  |  ''43''  |  ''43'' (67)  |  C  |
  
  
Línea 628: Línea 721:
 ==== Ejercicio 8 ==== ==== Ejercicio 8 ====
 Repite el ejercicio anterior pero ahora con un proyecto de Angular. Repite el ejercicio anterior pero ahora con un proyecto de Angular.
 +
 +
 +
  
  
  
clase/daw/proyecto/1eval/tema01.1762166241.txt.gz · Última modificación: por 127.0.0.1