# probleme en java (Xcode...)



## koyot3 (11 Octobre 2006)

salut a tous
bon j'utilise r&#233;guli&#232;rement Xcode pour coder en C
jusqu'a la pas de pb !!

seulement voila : je commence a apprendre le Java
dc j'utilise xcode cr&#233;er des fichiers java

mais voila, pitit pb, je m'explique : on a cr&#233;er un fichier *point.java* qui cr&#233;er des points
et un autre *droite.java* droite.java a besoin de point.java pour tourner
or quand je lance xcode
 je cr&#233;er un projet Java pour *Point*
*Point* se compile tr&#232;s bien 

et un pour *Droite* et ds *Droite* je mets import *Point;*
mais ca ne compile pas ....

et quand je fais Add ds *droite* pour mettre *point*, c'est pire ...

quelqu'un a 't 'il une technique pour faire marcher mon affaire ?? ;-)

merci d'avance


----------



## Nexka (11 Octobre 2006)

Tu as essayer de mettre les deux fichiers.java dans le m&#234;me projet? Je comprend pas pourquoi tu utilises 2 projets distincs? 



Edit: J'ai fait un test vite fait.
tu cr&#233;es ton projet sous le nom droite.java et tu ajoutes un fichier, non un projet, point.java ou tu &#233;cris ta class point. 
Ca fonctionne nickel.


----------



## koyot3 (12 Octobre 2006)

ok merci 
je vais tester ca ...

mais le truc c'est que ajoutant un fichier ds un projet, il le compile systématiquement avec des erreurs ....(alors que pas d'erreur compiler seul):mouais:

en tt cas merci Nexka


----------



## Nexka (12 Octobre 2006)

C'est quoi l'erreur? Peut être que tu ne déclares pas bien les objets point.java dans la class droite.java ??


----------



## koyot3 (12 Octobre 2006)

si je compile les fichiers avec le terminale a l'ancienne ca fontionne...

l'erreur m'indique :
Tool:0: Command /Developer/Private/jam failed with exit code 1

 

ptite question : lorsque tu es dans ton projet, tu fais "add" et tu choisis quoi ensuite si tu veux juste ajouter un fichier .java ?

j'ai retest&#233;, ds Droite, je met "import Point;"
Point &#233;tant dans le m&#234;me dossier que Droite
or xcode me met qu'il manque un . ("." expected) ds mon import...

quand un probleme se r&#233;soud, un autre apparait ...


----------



## GrandGibus (12 Octobre 2006)

Ca n'a pas un lien très fort avec l'origine du sujet, mais...

[en passant]

Il est fortement déconseillé de ne pas utiliser de packages pour les classes ! 

Mets tes classes au moins dans un package, ton compilo s'en portera que mieux. 

[/en passant]


----------



## koyot3 (12 Octobre 2006)

c'est bwen ca marche ......enfin !!
mais je n'arrive pas a faire des packages ...

je copie tous les fichiers ds le meme projet, mais si je veux faire des packages ca se passe comment sur xcode ?

merci encore de votre aide


----------



## Tarul (13 Octobre 2006)

koyot3 a dit:


> c'est bwen ca marche ......enfin !!
> mais je n'arrive pas a faire des packages ...
> 
> je copie tous les fichiers ds le meme projet, mais si je veux faire des packages ca se passe comment sur xcode ?
> ...



je vais parler de java d'une manière un peu plus général.
pour creer un package tu fais :


```
package tonpackage.taclasse.java
```
sur le disque dur cela donnera : ./tonpackage/taclasse.java

ensuite, si tu envie de faire 2 projet dictincts pour tes deux classes tu peux faire des Java Archive(les .jar). Qui sont a la fois des librairies et des executables java.
Une fois que tu faits ton premier fichier jar, tu dois l'importer dans ton projet. Je ne sias pas comment faire dans xcode pour importer ce type de ressource.
Enfin si tu veux toujours faire un jar pour ton second projet, il te faudra rensegné un fichier manifest.


```
Manifest-Version: 1.0
Main-Class: com.waveset.custom.QueryAppDroit
Class-Path: oraclejdbc.jar
```
La premier ligne est obligatoire, si je me plante pas. la seconde indique la classe principale de ton programme(et qui doit contenir la mainthode main). la seconde indique les jar dont dépend ton programme. Dans mon exemple, il s'agit du jar permettant de se connecter a une base oracle.

après ça tu pourras compiler ton deuxieme projet.

pour compiler : 

```
javac -cp .:fichier.jar tonpakage/taclasse.java
```
->génére un .class
pour executer

```
java -cp .:fichier.jar tonpakage/taclasse
```
 omportant ne pas mettre le ".class"
pour creer ton archive jar :
-faire un dossier METAINF/ et y mettre le MANIFEST.mf

```
jar -cvfm nomDuJar.jar METAINF/MANIFEST.mf tonpakage/taclass.class
```


Ce que je viens d'expliquer s'applique a jave en général. Sur mac os X(et xcode), il t'est possible de faire application.app, en suivant la même logique que ce que tu ferais en objective-c. (modèle mvc, "outlet", "action", ihm en .nib.


----------



## koyot3 (15 Octobre 2006)

merci bien, ca c'est de la réponse ....


----------

