1

(titre avec ptit clin d'oeil à nos amies codeuses qui sont passées (trop) rapidement sur le forum).
Blague à part.

Je reprends un projet avec les technos Java et je trouve que le temps de "déploiment" est trop rapide.
En gros, j'ai le projet sous eclipse pour éditer les fichiers & co, un build.xml que je lance avec ant.
Le build du .war et son déploiement sur le serveur tomcat prend une minute, c'est trop long. En modifiant une ligne du code, je dois attendre une minute. De plus, ce système ne permet pas de mettre des breakpoints.

Donc deux choses:
1° temps de build pour tester trop long.
2° pas possible de mettre des breakpoints.

Si 1° est reglé, 2° n'est pas trop grave, je peux mettre des loggers et des prints.
Que faire pour pouvoir avoir un truc qui "déploie" intrinsequement sur le serveur?
Tout ce qui passe pas par le port 80, c'est de la triche.

2

Fais des .jsp séparés, comme ça il ne te recompilera que ceux que tu as changés.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

Que fait ton build.xml? Si'il ne fait rien de plus que la compilation et le dépoiement,
le mieux serait que tu laisse éclipse s'occuper de ton serveur, il fera le déploiement, gèrera les breakpoint et tous ce qu'il faut.
avatar

4

L'appli fonctionne avec strust.
Le build ne fait que compiler et déployer (j'ai fait skipper les tests fonctionnels).

Je vois que quand on démarre un projet "web dynamique", il y a tout un fonctionnement qui permet de faire ce que je voudrais avec tomcat. Comment on configure tout ça sur un projet java "classique" ?
Tout ce qui passe pas par le port 80, c'est de la triche.

5

Tu fais afficher la vue "Servers". Si tu ne l'a pas tu peut l'ouvrir depuis le menu Window/Show View. Tu y crée une configuration de serveur et tu rajoute ton projet dans ce serveur.
Tu pourras ainsi gérer le déploiement de ton projet depuis cette vue serveur et le débuggage fonctionnera, le serveur étant en communication avec eclipse.
Pour ce qui est du déploiement automatique, je ne sais pas trop pourquoi, sur certain des projets sur lequel j'ai participé, ca marchait soit parfaitement, sur d'autres ca fonctionnait uniquement pour les jsp, voire ça plantait carrément l'appli.
avatar

6

Ok j'ai ajouté le serveur tout bien configuré, il arrive à le lancer à partir d'eclipse. Comment je fais pour ajouter le projet dedans? Quand je fais add/remove, il me propose un autre projet dans les "available" (un projet "web dynamique" que j'avais crée juste pour tester) mais pas mon projet.
Tout ce qui passe pas par le port 80, c'est de la triche.

7

Je supose qu'il ne doit gérer que les projet de type web.
Qu'est ce qui t'empêches de transformer ton projet en projet web?
avatar

8

Je viens de le transformer en projet web.
J'ai ouvert le .project, ajouté:

<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>

et

<nature>org.eclipse.wst.common.project.facet.core.nature</nature>

Puis dans project properties ajouté dynamic web module et java comme "facets".
Ensuite, eclipse m'a crée un dossier WebContent dans lequel il a mis "WEB-INF" & co. Alors que moi j'ai déjà "WEB-INF" mais à la racine du projet.
J'ai cherché et trouvé que le fichier .settings/org.eclipse.wst.common.component contenait l'info <wb-resource deploy-path="/" source-path="/WebContent"/> que j'ai modifé.

Et ça a marché. J'arrive à attacher le serveur au projet. Je peux déployer maintenant sur le serveur... ou presque.
Ca me met:

3 août 2009 09:45:58 org.apache.catalina.core.StandardContext listenerStart
GRAVE: Erreur lors de la configuration de la classe d'écoute de l'application (application listener) org.springframework.web.context.ContextLoaderListener
java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1386)

Tout ce qui passe pas par le port 80, c'est de la triche.

9

Bonjour,
j'ai un projet java à faire quelqu'un pourrait-il m'aider ? merci d'avance
voici le projet:


Il s’agit de simuler la comportement d’une "tortue" qui s'apparente à un petit robot dont le domaine
est l'écran d'affichage. En envoyant à cette tortue une succession de commandes prédéfinies, les enfants
peuvent construire des images graphiques de façon algorithmique.
Dans sa version de base, les caractéristiques de cette tortue sont les suivantes:
1 - Elle maintient une position (abscisse et ordonnée), une direction (deux directions seulement sont permises
horizontale (true) ou verticale (false))
2 - Elle possède une vitesse de déplacement constante (100 m/heure) au cours de son trajet.
3- Elle se caractérise par la distance parcourue à partir de son départ.
4 - Elle sait répondre à des commandes simples comme par exemple avancer, tournerADroite,
tournerAGauche…
La classe Java décrivant celle-ci doit s’écrire de la façon suivante :
class Tortue {
//déclaration des attributs privés
//constructeur qui reçoit les coordonnées de la position et la direction initiales et initialise la distance
parcourue à 0.
// Tous les mutateurs nécessaires
// Tous les accesseurs nécessaires
// Avancer d’une distance donnée
void avancer(int dist) {…}
// Tourner à droite selon un angle droit
void tournerADroite() {…}
// Tourner à gauche selon un angle droit
void tournerAGauche() {…}
}

L’ensemble des commandes permettant à la tortue de parcourir ce chemin est :
avancer(10), tournerAGauche(), avancer(2), tournerADroite(), avancer(12), tournerADroite(),
avancer(15), tournerADroite(), avancer(20)
N.B : Après chaque déplacement, ne pas oublier de mettre à jour les valeurs de la position courante, de la
distance parcourue et de la direction de la tortue.
Travail demandé
1°/ Dans la première partie, il vous est demandé de fournir une implantation de la classe Tortue décrite
précédemment. Cette implantation consiste à donner les attributs représentant l’état interne des tortues d’une
part et d’autre part à définir le corps de toutes les méthodes spécifiées.

2°/ L’étape suivante consiste à concevoir une classe de tortue plus spécialisée. La nouvelle classe de tortue à
définir, sera nommée TortueRapide. Comparées aux tortues de la classe précédente, les tortues de cette
nouvelle classe ont la particularité de pouvoir augmenter (accélérer) leur vitesse de 10m/h sur chaque mètre
parcouru sur le même segment (la vitesse initiale au début de chaque segment est toujours égale à 100m/h).
Définir cette nouvelle classe en utilisant le mécanisme d’héritage. La classe doit contenir :
- Une méthode getVitesse(int dist) qui permet de renvoyer la vitesse avec laquelle se déplace la tortue après
avoir parcouru une distance dist dans la même direction.
- Une méthode getTempsDeplacement(int dist) : qui permet de retourner le temps que passe la tortue pour
parcourir une distance dist dans une même direction.
3°/ Nous allons à présent construire une nouvelle sous-classe de tortue plus élaborée que la classe
TortueRapide. Cette sous-classe sera nommée TortueAMemoire. Les tortues de cette nouvelle classe sont
capables de mémoriser et de rejouer ultérieurement une même suite de commandes. A cet effet, ces tortues
sont dotées des opérations suivantes :
- enregistrerCommande(String cde) qui permet d’ajouter une commande donnée sous forme d’une chaîne de
caractères à la liste de commandes existantes.
- rejouer() qui demande à la tortue de rejouer l’ensemble des commandes mémorisées : il s’agit dans cette
méthode tout simplement d’afficher la liste de commandes mémorisées par la tortue.
- oublierTout() qui remet à zéro la liste des commandes mémorisées.


Définir cette nouvelle classe TortueAMemoire en utilisant le mécanisme d’héritage.
4°/ Dans le but d’expérimenter les classes déjà développées, on se propose d’ajouter une nouvelle classe
nommée Application, basée principalement sur sa méthode main() qui doit :
- Construire trois objets hétérogènes : une tortue franklein, une tortue rapide rapidos, et une tortue à mémoire
mémo.
- Mettre ces objets dans un même tableau.

10

mimi20 (./9) :
Bonjour,
j'ai un projet java à faire quelqu'un pourrait-il m'aider ? merci d'avance
voici le projet:


Il s’agit de simuler la comportement d’une "tortue" qui s'apparente à un petit robot dont le domaine
est l'écran d'affichage. En envoyant à cette tortue une succession de commandes prédéfinies, les enfants
peuvent construire des images graphiques de façon algorithmique.
Dans sa version de base, les caractéristiques de cette tortue sont les suivantes:
1 - Elle maintient une position (abscisse et ordonnée), une direction (deux directions seulement sont permises
horizontale (true) ou verticale (false))
2 - Elle possède une vitesse de déplacement constante (100 m/heure) au cours de son trajet.
3- Elle se caractérise par la distance parcourue à partir de son départ.
4 - Elle sait répondre à des commandes simples comme par exemple avancer, tournerADroite,
tournerAGauche…
La classe Java décrivant celle-ci doit s’écrire de la façon suivante :
class Tortue {
//déclaration des attributs privés
//constructeur qui reçoit les coordonnées de la position et la direction initiales et initialise la distance
parcourue à 0.
// Tous les mutateurs nécessaires
// Tous les accesseurs nécessaires
// Avancer d’une distance donnée
void avancer(int dist) {…}
// Tourner à droite selon un angle droit
void tournerADroite() {…}
// Tourner à gauche selon un angle droit
void tournerAGauche() {…}
}

L’ensemble des commandes permettant à la tortue de parcourir ce chemin est :
avancer(10), tournerAGauche(), avancer(2), tournerADroite(), avancer(12), tournerADroite(),
avancer(15), tournerADroite(), avancer(20)
N.B : Après chaque déplacement, ne pas oublier de mettre à jour les valeurs de la position courante, de la
distance parcourue et de la direction de la tortue.
Travail demandé
1°/ Dans la première partie, il vous est demandé de fournir une implantation de la classe Tortue décrite
précédemment. Cette implantation consiste à donner les attributs représentant l’état interne des tortues d’une
part et d’autre part à définir le corps de toutes les méthodes spécifiées.

2°/ L’étape suivante consiste à concevoir une classe de tortue plus spécialisée. La nouvelle classe de tortue à
définir, sera nommée TortueRapide. Comparées aux tortues de la classe précédente, les tortues de cette
nouvelle classe ont la particularité de pouvoir augmenter (accélérer) leur vitesse de 10m/h sur chaque mètre
parcouru sur le même segment (la vitesse initiale au début de chaque segment est toujours égale à 100m/h).
Définir cette nouvelle classe en utilisant le mécanisme d’héritage. La classe doit contenir :
- Une méthode getVitesse(int dist) qui permet de renvoyer la vitesse avec laquelle se déplace la tortue après
avoir parcouru une distance dist dans la même direction.
- Une méthode getTempsDeplacement(int dist) : qui permet de retourner le temps que passe la tortue pour
parcourir une distance dist dans une même direction.
3°/ Nous allons à présent construire une nouvelle sous-classe de tortue plus élaborée que la classe
TortueRapide. Cette sous-classe sera nommée TortueAMemoire. Les tortues de cette nouvelle classe sont
capables de mémoriser et de rejouer ultérieurement une même suite de commandes. A cet effet, ces tortues
sont dotées des opérations suivantes :
- enregistrerCommande(String cde) qui permet d’ajouter une commande donnée sous forme d’une chaîne de
caractères à la liste de commandes existantes.
- rejouer() qui demande à la tortue de rejouer l’ensemble des commandes mémorisées : il s’agit dans cette
méthode tout simplement d’afficher la liste de commandes mémorisées par la tortue.
- oublierTout() qui remet à zéro la liste des commandes mémorisées.


Définir cette nouvelle classe TortueAMemoire en utilisant le mécanisme d’héritage.
4°/ Dans le but d’expérimenter les classes déjà développées, on se propose d’ajouter une nouvelle classe
nommée Application, basée principalement sur sa méthode main() qui doit :
- Construire trois objets hétérogènes : une tortue franklein, une tortue rapide rapidos, et une tortue à mémoire
mémo.
- Mettre ces objets dans un même tableau.

11

Non on ne fera pas le devoir a ta place. Que tu le postes une ou 2 fois.
avatar

12

C'est Noël pourtant ! Tu n'es pas très serviable, Uther embarrassed

13

C'est pas ma faute.
Il a pas été sage, pas de cadeau.
avatar

14

Si je lui fait en 68k, ça l'aidera ? embarrassed

15

mercii tous le monde!!bonne année...

16

Non mais tu t'attendais à quoi ? Qu'on te fasse tes TD chaque fois que tu nous en pondrais un ? roll