<div class="page"> <div class="cover text-center"> <img class="mx-auto" src=/itb/images/logo_mislata.png alt="logo"> # Preparació de l'entorn <div class="text-end fit-content ms-auto my-3 mt-auto pt-3"> <p><strong>Autor:</strong> Joan Puigcerver Ibáñez</p> <p><strong>Correu electrònic:</strong> j.puigcerveribanez@edu.gva.es</p> <p><strong>Curs:</strong> 2024/2025</p> </div> <div> <p class="fw-bold mb-0">Llicència: BY-NC-SA</p> <p class="d-none d-md-block">(Reconeixement - No Comercial - Compartir Igual)</p> <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.ca" target="_blank"> <img class="mx-auto" src="/itb/images/license.png" alt="Licence"/> </a> </div><!--license--> </div><!--cover--> </div><!--page--> {:toc} # Objectius Configurar l'entorn de desenvolupament en ordinadors amb sistema operatiu Windows o distribucions de Linux basades en Debian, com Ubuntu o Linux Mint. En aquest manual s'instal·larà i es configuraran les següent eines: - [IntelliJ IDEA](https://www.jetbrains.com/idea/): Entorn de desenvolupament integrat. - [Git](https://git-scm.com/): Enina de control de versions. - [GitHub](https://github.com/): Emmagatzenament en línia de repositoris Git. ## IntelliJ IDEA Descarrega i instal·la [IntelliJ IDEA](https://www.jetbrains.com/idea/) mitjançant l'instal·lador disponible a https://www.jetbrains.com/idea/download/. Utilitzarem la versió __Community__ de l'IDE. - Inicia IntelliJ. - Crea un nou projecte. - Nom del projecte: __CognomNom-ED__ - Canviar _Cognom_ i _Nom_ pel teu primer cognom i el teu nom. - Llenguatge: __Java__ - Build system: __Maven__ - Aquest sistema és més complex que _IntelliJ_, però aquest projecte l'utilitzarem durant tot el curs i estudiarem aquest sistema més endavant. - Seleccionar __JDK__: Oracle OpenJDK 19. - Si no en tens cap instal·lat, donar-li a l'opció __Download JDK...__ ![](/itb/DAM-ED/UD1/img/entorn/idea_project.png) Una vegada creat, tindreu un projecte buit creat. ![](/itb/DAM-ED/UD1/img/entorn/idea_creat.png) - Comprova que el programa _Main.java_ que ve per defecte s'executa. Per executar un programa Java heu de donar-li al botó ![](/itb/DAM-ED/UD1/img/debugger/run.svg){.icon} __Run__. - Una vegada comprovat, es pot eliminar. ### Estructura d'un projecte Com podeu observar, per defecte s'han creat una sèrie de carpetes en el projecte. - El __codi font__, es guarda en la carpeta marcada com a _arrel del codi font_. Normalment és __src__. En Maven, s'ha creat la carpeta __src/main/java__. En IntelliJ aquesta carpeta està marcada en blau. - Les __proves__, es guarda en la carpeta marcada com a _arrel del codi font de proves_. Normalment és __test__. En Maven, s'ha creat la carpeta __src/test/java__. En IntelliJ aquesta carpeta està marcada en verd. - El __bytecode (.class)__, es guarda en la carpeta configurada com _destí d'eixida (output path)_. Normalment és __out__. En Maven, s'ha creat la carpeta __target/classes__. En IntelliJ aquesta carpeta es pot configurar a __Project Structure > Modules > Path__. ![](/itb/DAM-ED/UD1/img/entorn/idea_folders.png) ### Codi font Java és un llenguatge orientat a objectes i el codi font s'organitza en __Classes__. En Java, es poden organitzar les diferents _Classes_ en carpetes, anomenats __paquets o packages__. Igual que amb les carpetes, un package pot contindre més packages dins. Com a separador s'utilitza el __punt (.)__. - Crea el package __ud1.examples__. Botó dret > New > Package... - Crea una classe [DebugRepetirNom](./02_entorns_desenvolupament.html#debugger) dins d'aquest paquet, còpia el contingut de l'exemple i executa'l. Comprova que funciona. ![](/itb/DAM-ED/UD1/img/entorn/idea_run_result.png) ## Git Abans que res, cal instal·lar [Git](https://git-scm.com/). Cal descarregar l'instalador des de la web: https://git-scm.com/downloads En Ubuntu es pot instal·lar mitjançant les comandes: ```bash $ sudo apt-get update $ sudo apt-get install git ``` ## GitHub - Si no en tens cap, crea't un compte a [GitHub](https://github.com/). - Proporciona-li el teu usuari al docent del mòdul mitjançant la tasca corresponent en el curs del mòdul. - Espera a ser convidat a l'organització: - __DAM1S__: [fpmislata-dam1s-ed](https://github.com/fpmislata-dam1s-ed). - __DAW1__: [fpmislata-daw1-ed](https://github.com/fpmislata-daw1-ed). - Crea un repositori dins de l'organització: - Propietari: __fpmislata-{grup}-ed__ - Nom del repositori: __CognomNom-ED__ - Descripció: Respositori de les solucions del mòdul ED del grup {GRUP} en CIPFP Mislata del estudiant Nom Cognom - Visibilitat: __Privat__ - __NO__ afegir __README__ ni __LICENSE__. ![](/itb/DAM-ED/UD1/img/entorn/git_create_repo.png) Si s'ha creat correctament, haurieu de veure una pàgina com aquesta: ![](/itb/DAM-ED/UD1/img/entorn/git_empty_repo.png) Proporciona-li l'adreça HTTPS del teu repositori al docent del mòdul mitjançant la tasca corresponent en el curs del mòdul. ## Integració IntelliJ + GitHub - Copiar el contingut de [.gitignore](https://raw.githubusercontent.com/github/gitignore/master/Global/JetBrains.gitignore) en un fitxer anomenat __.gitigonre__ en l'arrel del teu repositori. - Afegir les línies: ``` # Maven log/ target/ ``` - Crea el fitxer <strong>README.md</strong> a l'arrel del projecte amb el contingut: ```md # CognomNom-ED Respositori de les solucions del mòdul ED de {GRUP} en CIPFP Mislata del estudiant Nom Cognom ``` - Activar la versió de control: __VCS > Enable Version Control Integration__ i seleccionar __Git__ Abans de poder fer la integració, cal configurar l'autentificació amb GitHub. Hi han dues maneres, mitjançant __SSH__ o __Personal Access Tokens (PAT)__. Jo recomane __SSH__. ### Autentificació SSH Seguir els passos de [](/itb/DAM-ED/UD2/exercicis/01_tutorial_git.html#ssh). - Afegir el repositori de Github: __Git > Manage Remotes...__ i donar-li al __+__ - Name: __origin__ - URL: __L'enllaç SSH del teu projecte de GitHub__. ### Autentificació PAT - Afegir el repositori de Github: __Git > Manage Remotes...__ i donar-li al __+__ - Name: __origin__ - URL: __L'enllaç HTTPS del teu projecte de GitHub__ - Vos demanarà iniciar sessió, feu-ho mitjançant Use Token... - Doneu-li a __Generate...__ - Se vos obrirà una pàgina de GitHub per generar el PAT token. - Poseu la expiració: No expiration - Genereu el token - Copieu (i guardeu-vos) el token i introduiu-lo a IntelliJ. ### Remotes Una vegada afegit el repositori remot, ja es podrien realitzar canvis. ![](/itb/DAM-ED/UD1/img/entorn/git_remotes.png) - Realitzar un commit inicial: __Git > Commit...__ - Seleccionar tots els fitxers - Missatge: Initial commit - Botó: __Commit__ ![](/itb/DAM-ED/UD1/img/entorn/git_initial_commit.png) - Pujar el projecte a GitHub: __Git > Push...__ Us hauria de sortir en verd els fitxers que aneu a pujar. ![](/itb/DAM-ED/UD1/img/entorn/git_push.png) - Verifiqueu que s'ha pujat a GitHub: ![](/itb/DAM-ED/UD1/img/entorn/github_push.png) ## Treballar amb Git Una vegada configurat l'espai de treball, ja es pot utiliztar per afegir noves classes i sincronitzar-les en diferents espais de treball mitjançant Git. Tot el codi estarà dins de la carpeta __src__. Quan es vulga sincronitzar el codi de IntelliJ IDEA a Github caldrà: - Realitzar un pull per incorporar els canvis que hagen pogut haver i no crear conflictes: __Git > Pull...__ - Realitzar un commit amb els canvis: __Git > Commit...__ - Missatge del commit __significatiu__ - Realitzar un push: __Git > Push__ - Comprovar que s'ha actualitzat correctament en GitHub.