{{tag>programmation java}}
----
====== Créer un environnement complet pour Netbeans ======
Ce tutoriel est prévu pour Netbeans 5.5
===== Préambule =====
Voulant démarrer dans le développement JAVA j'ai été très séduit par l'IDE Netbeans, comme je ne trouvais pas d'info sur la mise en place d'un environnement de développement j'ai choisi de partager mes diverses trouvailles avec la communauté.
Je m'excuse d'avance auprès de tous les grands gourous du monde de java car comme je débute et j'avance en tâtonnant j'ai peut-être fait des choix qui ne sont pas très judicieux. Mais bon voilà, tout le monde le sait, démarrer avec java n'est pas simple...
Il se peut que netbeans ne se lance pas et affiche des fenêtres vide. Dans ce cas il faut ajouter au script de lancement de Netbeans 5.5 nommé netbeans (il se trouve normalement dans le répertoire /usr/share/netbeans/5.5/bin), il faut que la première ligne soit
: export AWT_TOOLKIT=MToolkit
Ou alors désactiver les effets de compiz. (système->préférences->apparences->effets visuels)
===== Installation de l'environnement =====
Voici un petit Howto pour l'installation d'un environnement de développement JAVA complet avec le serveur Tomcat 5.5, un IDE Netbeans 5.5 et une base de données Postgres 8.2 sur une Ubuntu 6.10.
==== Tomcat 5.5 ====
Dans un premier temps il faut installer un serveur web dans notre cas nous avons choisi le '''serveur Tomcat 5.5''', pour l'installer sur une nouvelle Ubuntu il faut aller dans:
sudo gedit /etc/apt/sources.list
et activer les dépôts '''universe et multiverse'''. et update avec:
sudo apt-get update && sudo apt-get upgrade
Puis au travers de '''Gestionnaire de paquets Synaptic''' selectionner Tomcat 5.5 avec ses dépendances.
=== start, restart et stop ===
Voici les commandes pour démarrer, redémarrer et arrêter le serveur :
/etc/init.d/tomcat5.5 start
/etc/init.d/tomcat5.5 restart
/etc/init.d/tomcat5.5 stop
==== JDK ====
Aujourd'hui il existe un package qui comporte JDK avec Netbeans 5.5, alors pourquoi pas l'utiliser pour l'install. Télécharger le fichier **Jjdk-6u1-nb-5_5-linux-ml.bin** .bin sous [[http://java.sun.com/javase/downloads/index.jsp]] et l'installer au travers d'un terminal, se placer dans le répertoire où est stocké le fichier et faire:
chmod +x [le nom du fichier bin]
./[le nom du fichier bin]
Ou bien faire :
chmod +x [le nom du fichier bin]
bash [le nom du fichier bin]
dans notre cas nous avons choisi de l'installer sous **/home/[nom]/www/**
==== Netbeans ====
===l'IDE===
Dans le cas où l'on à installer Netbeans séparément de JDK voici la procédure. Le programme de base à installer est l'IDE (Environnement de Développement Intégré) de Netbeans. Il s'agit [[https://www.netbeans.info/downloads/index.php]]. Pour l'installation se placer dans le répertoire où est stocké le fichier avec un terminal et faire:
chmod +x [le nom du fichier bin]
./[le nom du fichier bin] -is:javahome /home/[nom]/www/jdk1.6.0
===Netbeans sur les dépots!===
Il est possible d'utiliser la version de fourni avec Ubuntu très simplement
sudo apt-get install netbeans
Ou de télécharger la dernière version disponible depuis le site de Sun
Depuis le site de [[http://bits.netbeans.org/netbeans/6.5/community/latest/ml/ |téléchargement]] de la dernière version de NetBeans IDE
Téléchargez le fichier [[https://www.netbeans.info/downloads/start.php?f_id=13710&lang_id=1 | netbeans-6_5.tar.gz]] (82.8 MB)
Placer le dans le repertoire /tmp.
Et configurer le en root:
sudo chown root:root /tmp/netbeans-6_5.tar.gz
Puis lancer la commande:
sudo apt-get install netbeans6.5
(où installer le depuis synaptic)
netbeans6.5 sera alors installé dans le répertoire **/usr/share/netbeans/6.5/**
Un lanceur sera également installé: **/usr/bin/netbeans**
===IDE Add-On Packs===
Voici des packs permettant d'ajouter des fonctions orientées à l'IDE on peut retrouver l'ensemble des [[http://www.netbeans.org/products/index.html|packs]]
===Visual Web Pack===
Tout ce que vous avez besoin pour construire rapidement et visuellement des applications de web standard avec des composants AJAX et JSF.
Lien pour le téléchargement: [[https://www.netbeans.info/downloads/index.php?rs=11&p=9]] Pour l'installation se placer dans le répertoire où est stocké le fichier avec un terminal et faire:
chmod +x [le nom du fichier bin]
./[le nom du fichier bin] -is:javahome /home/[nom]/www/jdk1.6.0
===Enterprise Pack===
etc...
==== Postgres 8.3====
=== Installation et Configuration ===
On commence par installer avec le gestionnaire de paquets synaptique:
* **PostgreSQL 8.3** avec ses dépendances (pour obtenir la version 8.3 il faut avoir activé dans sources.liste les univers et universe multiverse)
* **libpg-java** (java database JDBC driver for postreSQL)
* **pgadmin3** outils d'administration graphique (après l'install le lanceur se trouve sous le menu Applications - Outils système - pgAdmin III)
* **postgresql-contrib-8.3** pack additionnel pour PostgreSQL
Par défaut l'installation créer un utilisateur postgres qui est le seul à avoir accès à la base de donnée. Il faut donc se faire passer pour cette utilisateur grâce aux commandes sudo et su :
sudo su postgres
Une fois que l'on est sur l'utilisateur postgres on peut facilement accéder à la base avec la commande psql :
postgres@ubuntu:/home/toto$ psql
Bienvenue dans psql 8.3.7, l‘interface interactive de PostgreSQL.
Tapez: \copyright pour les termes de distribution
\h pour l'aide-mémoire sur les commandes SQL
\? pour l‘aide-mémoire sur les commandes psql
\g ou terminez avec un point-virgule pour exécuter une requête
\q pour quitter
postgres=#
Une commande permet de modifier le mot de passe :
ALTER USER postgres WITH PASSWORD 'mot_de_passe';
On valide on quitte ( \q ). Et voilà. Il ne reste plus qu'à se connecter avec pgadmin3 pour facilement créer vos bases, tables, utilisateurs, etc…
=== Connexion de Postgres à Netbeans ===
dans la partie RunTime de Netbeans (Ctrl-5) on trouve la section **Databases**. Après avoir ouvert cette section il faut faire un clique droit sur **Drivers** et sélection **New Driver...**, **faire Add...** et dans notre cas choisir le pilote suivant : **/usr/share/java/postgresql-jdbc3.jar** puis faire **OK**. Si tout s'est bien passé vous trouverez sous la section Drivers l'élément **PostgreSQL (v7.0 and later)**, dans ce cas faite un clique droit sur cette élément et sélectionner **Connect Using...** et renseigner les champs suivant:
Database URL: jdbc:postgres//localhost:5432/MaBase
User Name: postgres
Password: ****** (celui que vous avez défini avant...)
faire **OK** et sélectionner le schéma et encore **OK**... et voilà c'est connecté.
===Connexion d'une base jdbc Postgres-9.4 EnterpriseDB avec Netbeans 8.0.1======
Pour se connecter à une DataBase il vous faut :
- Un chemin de la base : url
- Un driver de connection : driverDB
- Un utilisateur pouvant y accéder : login&password
Je prends mon cas, dans lequel j'ai créer une database via pgadmin3 dans postgres, et souhaite l'introduire dans Netbeans pour pouvoir y accéder via mes développement java (DAO).
=== **Etape 1** : Lancer Netbeans ===
=== **Etape 2** : Ouvrir la fenetre de service et sélectionner Database (en haut) puis clic doit "New Connection" ===
=== **Etape 3** : Selection le driver souhaité c'est-à dire PostgreSQL, puis cliquer sur next. Si il n'est pas listé il faut le télécharger=== [[https://jdbc.postgresql.org/download.html]]
=== **Etape 4** : vous arrivé sur le fenetre suivante : Customize Connection ===
=== **Etape 5** : renseigner les champs : pour connaitre ses infos ouvrez pgadmin3 et clic droit sur le serveur "PostgresSQL9.4" ===
==* Pour host ==> localhost (si la database est sur la meme machine sinon adresse ip de la machine distante)
==* Pour le Port ===> 5432 ==
==* Pour url ==> indiquer le nom de la base sur laquelle on veut se connecter sinon rentrer l'url complet suivant le model suivant : jdbc:postgresql://localhost:5432/VotreDataBase_ ==
==* Pour user ===> indiquer le login de connection à base dans postgres ==
==* Pour password ===> indiquer le passord du login de connection à la base (cocher "remenber password") ==
=== **Etape 6 :** fermer pgadmin3 pour vous Déconnectez de la base, et tester la connection depuis netbeans en cliquant sur "Tester_Connection" ===
**Si tout Ok,** vous devez avoir votre base dans la liste des base jdbc dans netbeans (dans service puis Database). sinon vérifier les informations ci-dessous.**That's all Folk!!**
== Remarque : ==
- Pour accéder à une table de la database aller dans services les bases sont representés la section **Base** dans laquelle vous avez créer votre base (un rename sur la database permet de le modifier quand celle-ci est déconnectée).\\
- Dans netBeans les requetes SQL utilisé pour communiquer avec la database ont une légère modification avec la base Postgres.\\
En effet pour définir la table, il faut indiqué le schema suivi de la table.\\
* Ainsi un SELECT * FROM USERS; devient un SELECT * FROM \"Public\".\"USERS\"; (en javaEE dans mon cas).
* Et un INSERT INTO USERS values(?,?,?,?); devient un INSERT INTO \"Public\".\"USERS\" values(?;?;?;?);
* Pour accéder à une colonne de la table la notation devient \"USERS\".\"Name\"=?;
=== === CLASSPATH: === ===
CLASSPATH est une variable d'environement.
Elle est composées de plusieurs chemin (path). Les chemins désignent soit des répertoires, soit des fichiers jar. Ces chemins peuvent être absolus ou relatifs. Le caractère utilisé pour séparer les différents chemins est les deux points ':'. Attention : l'orde dans lequel vous mettez les différents chemins est important.
Elle est utilisée par le compilateur et la machine virtuelle java pour retrouver les classes dont a besoin un programme.
Par exemple, si j'ai besoin d'utiliser un parser XML (xerces par exemple), pour que le compilateur et la JVM retrouvent les classes du parser, il va falloir ajouter la librairie xerces.jar au classpath.
En pratique, quand Java a besoin d'une classe, il va parcourir le classpath (dans l'ordre) et va chercher dans chacun des chemins du classpath si il trouve la classe. Si à la fin il n'a pas trouvé la classe en question, il balance une ClassNotFoundException (si on compile) ou une NoClassDefFoundError (si on execute)
Quand on installe le JDK de SUN, aucun classpath n'est définit !!!!! Même le répertorie courant n'est pas dedans. C'est une erreur classique de débutant : on se met dans le repertoire dans lequel se trouve les fichiers compilés, on tape java HelloWorld et on se mange un NoClassDefFoundError :/. La solution : taper java -classpath.
source : [[https://forum.hardware.fr/hfr/Programmation/Java/toujours-savoir-classpath-sujet_41088_1.htm]]
Pour ajouter un répertoire ou un fichier à la variable CLASSPATH il suffi d'executer cette commande :
sudo export CLASSPATH=$CLASSPATH:/home/MonChemin
Mais cette méthode est à répéter a chaque fois que l'on ouvre la session. Il est cependant possible de définir la variable à l'ouverture de la session. Pour cela, il faut le faire à la fin du fichier /etc/bash.bashrc
Pour editer ce fichier :
sudo gedit /etc/bash.bashrc
puis ajouter :
CLASSPATH=/usr/lib/java
=====Si problème avec Beryl:=====
Si beryl est installé sur votre ordinateur, en cas de problème au lancement de netbeans (fenêtre de l'application restant grisée), il faut éditer le script de lancement de l'application. En règle générale, il se trouve :
* soit dans le répertoire /home/son_pseudo/netbeans-5.5/bin/netbeans
* soit dans le répertoire /usr/bin/netbeans
Une petite édition (en super utilisateur) permet d'éditer le fichier. Il faut ensuite mettre à la première ligne :
export AWT_TOOLKIT=MToolkit
=====Installer Arduino dans Netbeans====
Télécharger le module Arduino sur le site : http://plugins.netbeans.org/plugin/46054/arduino \\
Lancer Netbeans, puis dans **/outil/plugin**, ajouter le nouveau plugin d'ArduinoUno télécharger précèdemment.\\
Une fois, installé normalement vous avez la possibilité de créer un nouveau projet de type Arduino.\\ That's Fun. Pas eu le temps, de tester le module via le port USB, n'ayant pas reçu encore le kit ArduinoUno.
===== Liens externes =====
* [[http://www.netbeans.org/]]
* [[http://www.mitarisk.com/blog/index.php?/archives/2-Setting-up-Netbeans-5-JDBC-Connection-Pooling-with-Postgresql.html|Setting up Netbeans 5 JDBC Connection Pooling with Postgresql]]
* [[http://www.netbeans.org/kb/articles/mysql-client.html]]
Débuter en Java :
* [[https://forum.hardware.fr/hfr/Programmation/Java/toujours-savoir-classpath-sujet_41088_1.htm]]
* [[http://forum.hardware.fr/hfr/Programmation/Java/debutants-passage-oblige-sujet_68709_1.htm]]
----
//Contributeurs : [[:utilisateurs:Tamors]] [[:utilisateurs:Nettspawn]],[[utilisateurs:xavierjm|XAVIER_jean-marie]].//