Forum Clubic

Ant et eclipse

Bonjour,
Voila, j’utilise Eclipse pour manipuler le java, je me suis fait plusieurs packages contenant plusieurs classes. J’ai voulu généraliser toute la compilation et l’execution de mes classes avec un fichier ant : build.xml. Cependant, je n’arrive pas à l’utiliser via eclipse, qui ne reconnait aucune cible executrice, qui pourtant fonctionne si je lance lexecution du script directement dans un shell.

Est-ce que quelqu’un saurait quelles manipulations faire pour reussir a compiler en utilisant ant via eclipse, qui n’execute pas toutes les regles creees mais seulement celle par defaut.

Je donnerai plus d’informations si vous avez des propositions, ainsi quele fichier build.xml si vous le demander. Merci

Vérifie toujours dans les preferences d’eclipse que tu utilises bien le fichier tools.jar
(c’est ce fichier qui contient le compilateur) :
Ant -> Runtime, onglet Classpath -> Global Entries

a+

Oui je l’ai fait ça, mais change rien.
De plus quant je lance eclipse, il me previent d’une erreur de workspace, et aussi quant je modifie mon build ou que je l’ouvre…;

Si sa parle a quelqu’un voici le log d’erreur :

eclipse.buildId=M20070212-1330
java.version=1.6.0_03
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=fr_FR
Command-line arguments: -os linux -ws gtk -arch x86

!ENTRY org.eclipse.osgi 2 1 2007-12-15 11:34:18.792
!MESSAGE NLS missing message: initializer_error in: org.eclipse.core.internal.runtime.messages

!ENTRY org.eclipse.osgi 2 1 2007-12-15 11:34:18.792
!MESSAGE NLS missing message: fileInitializer_fileNotFound in: org.eclipse.core.internal.runtime.messages

!ENTRY org.eclipse.osgi 2 1 2007-12-15 11:34:18.792
!MESSAGE NLS missing message: fileInitializer_IOError in: org.eclipse.core.internal.runtime.messages

!ENTRY org.eclipse.osgi 2 1 2007-12-15 11:34:18.792
!MESSAGE NLS missing message: fileInitializer_missingFileName in: org.eclipse.core.internal.runtime.messages

!ENTRY org.eclipse.emf.ecore 2 0 2007-12-15 11:34:26.991
!MESSAGE Both ‘com.omondo.uml.std’ and ‘com.omondo.uml.core’ register a package for ‘editmodel.xmi’

!ENTRY org.eclipse.jface 4 2 2007-12-15 11:34:33.418
!MESSAGE Problems occurred when invoking code from plug-in: “org.eclipse.jface”.
!STACK 0
java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/AntMain
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.defineClass(DefaultClassLoader.java:161)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:501)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:471)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:430)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:413)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:189)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findLocalClass(BundleLoader.java:334)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:386)
at org.eclipse.osgi.framework.internal.core.BundleLoader.findClass(BundleLoader.java:347)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:83)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at org.apache.tools.ant.Project.initProperties(Project.java:308)
at org.apache.tools.ant.Project.init(Project.java:295)
at org.eclipse.ant.internal.ui.model.AntModelProject.init(AntModelProject.java:105)
at org.eclipse.ant.internal.ui.model.AntModel.initializeProject(AntModel.java:367)
at org.eclipse.ant.internal.ui.model.AntModel.prepareForFullParse(AntModel.java:341)
at org.eclipse.ant.internal.ui.model.AntModel.parseDocument(AntModel.java:305)
at org.eclipse.ant.internal.ui.model.AntModel.reconcile(AntModel.java:263)
at org.eclipse.ant.internal.ui.model.AntModel.getProjectNode(AntModel.java:1383)
at org.eclipse.ant.internal.ui.model.AntModel.getProjectNode(AntModel.java:1393)
at org.eclipse.ant.internal.ui.editor.text.AntFoldingStructureProvider.updateFoldingRegions(AntFoldingStructureProvider.java:88)
at org.eclipse.ant.internal.ui.editor.AntEditor.projectionEnabled(AntEditor.java:1370)
at org.eclipse.jface.text.source.projection.ProjectionViewer.fireProjectionEnabled(ProjectionViewer.java:481)
at org.eclipse.jface.text.source.projection.ProjectionViewer.enableProjection(ProjectionViewer.java:529)
at org.eclipse.jface.text.source.projection.ProjectionViewer.doOperation(ProjectionViewer.java:1429)
at org.eclipse.ant.internal.ui.editor.AntEditor$StatusLineSourceViewer.doOperation(AntEditor.java:302)
at org.eclipse.ant.internal.ui.editor.AntEditor.createPartControl(AntEditor.java:1103)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:596)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:372)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:566)
at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:214)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2595)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2528)
at org.eclipse.ui.internal.WorkbenchPage.access$10(WorkbenchPage.java:2520)
at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:2505)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2500)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2485)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:388)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:350)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:275)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:139)
at org.eclipse.jdt.internal.ui.actions.OpenActionUtil.open(OpenActionUtil.java:49)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:190)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:174)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:267)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:243)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:306)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$4.open(PackageExplorerPart.java:653)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:817)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:858)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:44)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:149)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:815)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1069)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1168)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:249)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:243)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:283)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3180)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2856)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1930)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1894)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:422)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)

A priori, une classe semble etre manquante, enfin je crois…

Quelle version de eclipse tu as ?

j’ai la version 3.2, et j’utilise java-6-sun-1.6.0.03

Je vois pas quelle classes sont manquantes…

Essai de voir s’il n’y a pas un package à télécharger sur le site de l’éditeur.

a+

Essaye de passer par l’utilitaire de mise à jour d’Eclipse.

Sinon ton install. d’ant est normale? Tu peux t’en servir depuis n’importe où, ça passe toujours? (je sais pas comme Eclipse se mappe à Ant, donc je questionne)

Ben en fait, je ne comprend pas non plus pourquoi eclipse ne marche pas avec ant non plus.
Comme je l’ai dis plus haut, je peux utiliser mon build.xml en ligne de commande et ça marche bien, je peux executer les regles que je crée etc… mais apres au niveau de eclipse, rien a faire, je fais “run as build.xml”, et il m’éxécute la regle mise par defaut, mais aucune autre.

Puis dans eclipse quant je l’ouvre, il me dit :
"Could not restore workbench layout
Reason :
Problems occurred restoring workbench.
Unable to restore perspective: Workspace - Java.
Internal error activating an Editor.
org/apache/tools/ant/launch/AntMain "

Et dans “run as => External tools” il me dit “No targets could be determined for the buildfile”…

J’ai cherché de nombreuse solutions mais sans succes… j’aurai bien tenté de desinstaller eclipse et ant sur ma machine, mais j’ai peur de perdre tous mes packages deja creer…
Merci de votre aide, si vous avez une idée je vous en serais reconnaissant.

Quand tu dis packages, s’agit-il de plugin que tu as chargé? Si oui, tu peux les retrouver dans l’installeur/updateur d’Eclipse et les copier. Si ce sont tes projets, alors pas de problèmes non plus.

Essaye en rechargeant une version “propre” d’Eclipse (et en conservant l’ancienne).

Oui quand je dis package, je parle de mes projets, je vais tenter une réinstallation… je vous tiendrait au courant.
Merci

Ah, dans ce cas tu ne risques pratiquement rien :slight_smile:

Par contre demande la création d’un autre workspace;

Bon aucun changement avec une réinstallation de eclipse et ant…
Je peux acceder a toutes mes regles via mon shell, mais rien n’est detecté a partir de eclipse…
J’ai pas de solution.
Meme la creation d’un nouveau projet via un fichier “pseudo valide” build.xml est refusé car il me dit “The file selected is not a valid Ant buildfile” pourtant…

Tu utiliserais pas des tâches ant spécifiques?

Essaye en exportant ton projet sous fichier Ant (renomme ton build.xml avant sinon bye!) voir ce que produit ou pas Eclipse.
Edité le 18/12/2007 à 23:01

En fait voila mon fichier build.xml :

<?xml version="1.0" encoding="utf-8"?> Mon fichier Ant













<target name=“runTest” depends=“dist” description= 'TP1">










Qu’entends tu par taches spécifiques?

En fait, l’executif ant marche parfaitement, ça doit venir d’un probleme de configuration de eclipse, mais lequel…
Je change beaucoup de chose c’est toujours pareil, il me fait une erreur quant j’ouvre le fichier ant, quant je le sauvegarde et n’execute que ma regle dite “par defaut”…

Merci de ton aide