IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaFX Discussion :

Indexer projets JavaFX dans une fenêtre


Sujet :

JavaFX

  1. #21
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 900
    Billets dans le blog
    54
    Par défaut
    Citation Envoyé par grub_fr Voir le message
    et là, on voit bien que le $PATH et le $JAVA_HOME ne st pas du tout ceux que j'ai paramétré..? eclipse tourne sous 1 utilisateur qui n'est pas moi?
    Enfin bref, cô dit, cela fonctionne. Si t'as la réponse tant mieux, sinon...
    As-tu redémarré ta session entre temps (log off, blog back) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Je dois trouver un moyen de creer et retourner 2 ProcessBuilder.
    Un tableau, une List, un Set, une Pair (javafx.util.Pair), ou un Record ou n'importe quel objet Java simple qui prend 1min a coder et qui contient 2 sous-objets.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  2. #22
    Membre confirmé
    Homme Profil pro
    conducteur autocar
    Inscrit en
    Janvier 2020
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : conducteur autocar
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2020
    Messages : 67
    Par défaut
    Hello,

    Après cette grosse période d'interruption, je reviens terminer (du moins essayer) le projet.
    J'ai dû arreter, j'etais en formation.
    J'espère que vs (tu) serez (seras) tjs aussi dispo.

    Pas + pr ce msg, j'espere que tlmd va bien et que tt roule.

    grub

  3. #23
    Membre confirmé
    Homme Profil pro
    conducteur autocar
    Inscrit en
    Janvier 2020
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : conducteur autocar
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2020
    Messages : 67
    Par défaut
    slt, j'espere que vs avez passé 1 bon we.

    ok j'ai terminé et je retourne bien 2 ProcessBuilder.
    J'ai opté pr 1 class (c'est ce qui est montré ds le lien donné plus tôt, a priori c'est la méthode la plus ..."type safe" et en plus, je n'y suis pas arrivé avec 1 simple Record (j'avais des parametres ds le constructeur du Record et ça me posait des problemes que je n'ai pas su résoudre)).

    Je mets le code de la class qui contient les 2 sous objets (les 2 ProcessBuilder), (je ne vais pas expliquer, c'est simple, et ça n'est quasiment que du copié collé de l'exemple)
    je mets le code de la methode qui au clic bouton me lance le projet B (là je vais donner des explications)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    package application.model;
     
    public class ClassPB {
     
    	//
    	private ProcessBuilder pb01 = new ProcessBuilder();
    	private ProcessBuilder pb02 = new ProcessBuilder();
     
    	// constructeur(s)
    	public ClassPB(ProcessBuilder p_pb01, ProcessBuilder p_pb02) {
    		this.pb01 = p_pb01;
    		this.pb02 = p_pb02;
    	}
     
    	// getter(s)
    	public ProcessBuilder getPB01() {
    		return this.pb01;
    	}
     
    	public ProcessBuilder getPB02() {
    		return this.pb02;
    	}
     
    }

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
     
    // methode 07A
    	@FXML
    	private void executerFichierJava02() {
     
    		final Service<Integer> service01 = new Service<Integer>() {
     
    			// --- step 03, override createTask() method
    			@Override
    			protected Task<Integer> createTask() {
     
    				return new Task<Integer>() {
     
    					// --- step 04, override call() method
    					@Override
    					protected Integer call() throws Exception {
     
    						ClassPB pbCombines = retourner2ProcessBuilder("/usr/bin/javac",
    														"-d",
    														"./out",
    														"../JavaFX_Test01_Hello_Devstory/src/module-info.java",
    														"../JavaFX_Test01_Hello_Devstory/src/application/Main.java",
    														"/usr/bin/java",
    														"-p",
    														"./out",
    														"-m",
    														"JavaFX_Test01_Hello_Devstory/application.Main");
     
    						// variable de portée class qui définit
    						// l'etat du Service
    						// si tt se passe bien, doit passer
    						// par les valeurs 1, 2 et 3
    						return etat;
    					}
     
    				};
     
    			}
     
    		};
     
    		// --------------------------------------------------------
     
    		//
    		// 2° possibilité, en utilisant des callbacks
    		service01.setOnReady(event -> {
    			// n'apparait pas ds la console
    			System.out.println("par le callback, service 01 ready");
    			System.out.println("valeur de etat: " + etat);
    			System.out.println("valeur de getException(): " + service01.getException());
    			System.out.println("valeur de getValue(): " + service01.getValue());
     
    		});
    		service01.setOnScheduled(event -> {
    			System.out.println("par le callback, service 01 scheduled");
    			etat = 1;
    			System.out.println("valeur de etat: " + etat);
    			System.out.println("valeur de getException(): " + service01.getException());
    			System.out.println("valeur de getValue(): " + service01.getValue());
    		});
    		service01.setOnRunning(event -> {
    			System.out.println("par le callback, service 01 running...");
    			etat = 2;
    			System.out.println("valeur de etat: " + etat);
    			System.out.println("valeur de getException(): " + service01.getException());
    			System.out.println("valeur de getValue(): " + service01.getValue());
    		});
    		service01.setOnSucceeded(event -> {
    			System.out.println("par le callback, service 01, etat, success");
    			System.out.println("service 01, etat, terminé");
    			etat = 3;
    			System.out.println("valeur de etat: " + etat);
    			System.out.println("valeur de getException(): " + service01.getException());
    			System.out.println("valeur de getValue(): " + service01.getValue());
    		});
    		service01.setOnFailed(event -> {
    			System.out.println("par le callback, service 01, etat, failed");
    			System.err.println("echec du service");
    			etat = 4;
    			System.out.println("valeur de etat: " + etat);
    			service01.getException().printStackTrace();
    			System.out.println("valeur de getException(): " + service01.getException());
    			System.out.println("valeur de getValue(): " + service01.getValue());
    		});
    		service01.setOnCancelled(event -> {
    			System.out.println("par le callback, service 01, etat, cancelled");
    			etat = 5;
    			System.out.println("valeur de etat: " + etat);
    			System.out.println("valeur de getException(): " + service01.getException());
    			System.out.println("valeur de getValue(): " + service01.getValue());
    		});
     
    		// --------------------------------------------------------
     
    		// demarrer l'instance de Service
     
    		// la variable portée class
    		// prend la valeur de la variable portée locale
    		serviceB = service01;
     
    		// on demarre l'instance service de Service
            serviceB.start();		
     
    	}
     
    	// =======================================================
     
    	// methode 07C
    	public static ClassPB retourner2ProcessBuilder(String p01,
    									String p02,
    									String p03,
    									String p04,
    									String p05,
    									String p06,
    									String p07,
    									String p08,
    									String p09,
    									String p10) {
    		// ProcessBuilder pb01 = new ProcessBuilder("/usr/bin/javac", "-d", "./out", "../JavaFX_Test01_Hello_Devstory/src/module-info.java", "../JavaFX_Test01_Hello_Devstory/src/application/Main.java");
    		ProcessBuilder pb01 = new ProcessBuilder(p01, p02, p03, p04, p05);
     
    		// ProcessBuilder pb02 = new ProcessBuilder("/usr/bin/java", "-p", "./out", "-m", "JavaFX_Test01_Hello_Devstory/application.Main");
    		ProcessBuilder pb02 = new ProcessBuilder(p06, p07, p08, p09, p10);
     
    		try {
    			pb01
    			.inheritIO()
    			.start()
    			.waitFor();
    		} catch (InterruptedException except) {
    			except.printStackTrace();
    		} catch (IOException except) {
    			except.printStackTrace();
    		}
     
    		try {
    			pb02
    			.inheritIO()
    			.start()
    			.waitFor();
    		} catch (InterruptedException except) {
    			except.printStackTrace();
    		} catch (IOException except) {
    			except.printStackTrace();
    		}
     
    		return new ClassPB(pb01, pb02);
    	}
    dc le second fichier
    Je commence par la dernière methode, la 07C qui se nomme retourner2ProcessBuilder et qui prend... 10 parametres ( <- ca le merite)
    5 parametres pr le 1° ProcessBuilder
    5 parametres pr le 2° ProcessBuilder
    les try... catch: au debut n'y etaient pas ms en fct° des tests, ils st apparus et ça fonctionne tt aussi bien, dc...
    et puis je renvoie 1 instance de la class ClassPB qui contient les 2 ProcessBuilder

    j'utilise le retour ce cette seconde methode ds la 1°, (L18) avec la definition de chacun des parametres (pas tous ms qques parametres vt etres issus du fichier settings.properties)

    j'ai aussi 1 variable de portée class (nommée etat) qui me retourne 1 int en fct° de l'etat du Service parce que le Service (ou la Task?) attend un retour de type Int.
    C'est implémenté ds les callback (j'aurai du assigner une valeur a cette variable en fct° de la valeur de getValue()). Bon pr le moment ça tourne cô ça.

    Voilà pr cette étape.
    A partir de là il me semble qu'il faut arriver a:
    lier les differents projets decrits ds le fichier settings.properties à différents boutons de la gui
    j'imagine qu'ici on a le choix entre le côté dynamique et le côté statique. Pr des raisons pratiques (d'autres trucs a faire, d'autres trucs a voir), je vais aller au plus rapide, le coté statique ((à ce qu'il me semble).

    Est ce que je loupe qque chose?

    a+ et bonne journée
    grub

  4. #24
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 900
    Billets dans le blog
    54
    Par défaut
    Les paramètres d'un record ne s'écrivent pas au niveau du constructeurs mais au niveau de la classe.
    En fait on a même pas de constructeur dans un Record puisque c'est pas le but de construire un objet compliqué avec une initialisation customisée.

    Fichier EmployeeRecord.java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    package test;
     
    public record EmployeeRecord(Long id, String firstName, String lastName) {     
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    import test.EmployeeRecord;
     
    final var e1 = new EmployeeRecord (1l, "Jean", "Dupond");
    System.out.println(e1.id());
    System.out.println(e1.firstName());
    System.out.println(e1.lastName());
    System.out.println(e1);
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  5. #25
    Membre confirmé
    Homme Profil pro
    conducteur autocar
    Inscrit en
    Janvier 2020
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : conducteur autocar
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2020
    Messages : 67
    Par défaut
    j'arrive a 1 resultat qui fonctionne ou pas selon le type de projets que j'essaye
    d'executer depuis l'indexeur (eclipse) ou le terminal (pas eclipse)

    depuis eclipse

    le fichier settings.properties indexe 2 projets qui doivent etre executés depuis l'indexeur de projet

    code du fichier settings.properties
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    projects=t3t3, tutu
    t3t3.title=T3t3
    t3t3.description=This is the T3t3 project!
    t3t3.path=projects/t3t3
    t3t3.tags=Aucun a la date du 2022.10.05
    t3t3.p01_commande="/usr/bin/javac"
    t3t3.p02_flag01="-d"
    t3t3.p03_dossierSortie="./out"
    t3t3.p04_moduleInfo="../JavaFX_Test01_Hello_Devstory/src/module-info.java"
    t3t3.p05_fichierMain="../JavaFX_Test01_Hello_Devstory/src/application/Main.java"
    t3t3.p06_commande="/usr/bin/java"
    t3t3.p07_flag01="-p"
    t3t3.p08_dossierSortie="./out"
    t3t3.p09_flag02="-m"
    t3t3.p10_dossierFichierClass="JavaFX_Test01_Hello_Devstory/application.Main"
    tutu.title=Tutu
    tutu.description=This is the Tutu project!
    tutu.path=projects/tutu
    tutu.tags=Beaucoup
    tutu.p01_commande="/usr/bin/javac"
    tutu.p02_flag01="-d"
    tutu.p03_dossierSortie="./out"
    tutu.p04_moduleInfo="../JavaFX_Test02_Desvstory/src/module-info.java"
    tutu.p05_fichierMain="../JavaFX_Test02_Desvstory/src/applicationShowDate/Main.java"
    tutu.p06_commande="/usr/bin/java"
    tutu.p07_flag01="-p"
    tutu.p08_dossierSortie="./out"
    tutu.p09_flag02="-m"
    tutu.p10_dossierFichierClass="JavaFX_Test02_Desvstory/applicationShowDate.Main"
    ce st les 2 memes projets: NORMAL, c'est juste pr dire que le code fonctionne

    ds la GUI de l'indexeur de projets, j'ai 2 boutons.
    Le 1° execute t3t3 et c'est ok
    le 2° execute tutu et c'est ok

    je remplace les propriétés du projet tutu pr executer 1 projet different ms tt aussi simple (à peine moins compliqué en fait)
    ça ne marche pas.

    je retourne ds le Terminal pr tester et là non plus le second projet ne fonctionne pas
    qu'est ce qui ne fonctionne pas?
    la commande java

    syntaxe de la commande javac qui fonctionne
    /usr/bin/javac -d ./out ../JavaFX_Test02_Desvstory/src/module-info.java ../JavaFX_Test02_Desvstory/src/applicationShowDate/Main.java
    fonctionne, ds mon arborescence de repertoires du projet indexeur, j'ai bien un rep out qui s'est crée avec a l'interieur 2 fichiers.class

    syntaxe de la commande java qui ne fonctionne pas
    /usr/bin/java -p ./out -m JavaFX_Test02_Desvstory/applicationShowDate.Main

    retour erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    java.lang.NullPointerException: Location is required.
            at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3324)
            at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3287)
            at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3255)
            at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3227)
            at javafx.fxml/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3203)
            at javafx.fxml/javafx.fxml.FXMLLoader.load(FXMLLoader.java:3196)
            at JavaFX_Test02_Desvstory/applicationShowDate.Main.start(Main.java:17)
            at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
            at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
            at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
            at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
            at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
            at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
            at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
            at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
            at java.base/java.lang.Thread.run(Thread.java:833)
    J'imagine que le Service se lance car je suis obligé d'arreter le programme par <CTRL C>

    QQue chose que j'ai remarqué.
    Avec des projets qui ne contiennent qu'1 seul fichier, cela fonctionne A CONDITION d'enlever les instructions contenant des quotes
    exemple:
    Si j'execute ce projet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    package application;
     
    import javafx.application.Application;
    import javafx.stage.Stage;
    import javafx.scene.Scene;
    import javafx.scene.layout.BorderPane;
     
     
    public class Main extends Application {
    	@Override
    	public void start(Stage primaryStage) {
    		try {
    			BorderPane root = new BorderPane();
    			Scene scene = new Scene(root,400,400);
    			// scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
    			primaryStage.setScene(scene);
    			primaryStage.setTitle("test01");
     
    			primaryStage.show();
    		} catch(Exception e) {
    			e.printStackTrace();
    		}
    	}
     
    	public static void main(String[] args) {
    		launch(args);
    	}
    }
    fonctionne ds eclipse et le terminal,

    si je decommente la L16 pr aller chercher le fichier application.css
    cela fonctionne ds eclipse ms plus ds le terminal

    retour erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    java.lang.NullPointerException: Cannot invoke "java.net.URL.toExternalForm()" because the return value of "java.lang.Class.getResource(String)" is null
            at testJAVAFX/application.Main.start(Main.java:15)
            at javafx.graphics/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
            at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
            at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
            at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
            at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
            at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
            at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
            at javafx.graphics/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
            at java.base/java.lang.Thread.run(Thread.java:833)
    obligé d'utiliser <CTRL C> pr arreter le programme.

    Evidemment, en attribuant 1 variable a la valeur "application.css", cela ne fonctionne pas non plus
    Selon la structure du projet que je souhaite executer je peux aussi avoir des erreur de type "cannot find symbol" (si ce st des projets avec plusieurs fichiers)

    A ce stade, je serai tenté de dire que mon (notre, c'est le tien a au moins 70%) code devrait fonctionner (meme si ce que j'ai adapté est sale) et que ce serait plutot à Oracle de revoir sa copie. très orgueilleux de ma part, je sais.

    En attendant, je vais chercher, voir s'il n'y a pas moyen de résoudre le probleme

    a+
    grub

    [EDIT]
    j'ai peut etre trouvé:
    modifier la commande javac
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /usr/bin/javac -d ./out:. src/module-info.java src/application/Main.java
    je teste plus et je reviens

    NON,

    ok, pr cet exemple, il faut placer 1 copie du fichier CSS a coté du fichier Main.class généré ds le dossier "out"

    Tests avec l'indexeur de projets maintenant... euh non pas avec l'indexeur de projets
    Avec 1 projet qui contient 2 fichiers class, le fichier CSS et 1 fichier fxml
    il faut javac les 2 fichiers .class puis mettre 1 copie des fichiers CSS et fxml au coté des 2 précédents...
    Désolé c'est du direct live
    + tard, il va falloir egalement respecter le modele MVC, DAO et autres... pu... j'en vois pas la fin
    [/EDIT]

  6. #26
    Membre confirmé
    Homme Profil pro
    conducteur autocar
    Inscrit en
    Janvier 2020
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : conducteur autocar
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2020
    Messages : 67
    Par défaut
    ok, c'est bon,

    j'ai le truc, et dc oui il faut bien compiler tous les fichiers .class puis coller les autres fichiers (.css, autres) a côté.
    si il y a des projets avec plusieurs fichiers .class, c'est possible A PRIORI de ts les compiler en 1 seule commande avec 1 annotation @filename (voir le man de javac).

    je ne mets pas encore en resolu, des fois que...
    Je vais tester et integrer les projets les 1 apres les autres.

    Question, si je zippe ce qu'on a fait, est ce que tu me permets de le mettre en PJ ici?

    a+
    grub

    [EDIT]
    je ne vais pas automatiser le copie des fichiers qu'on ne peut pas compiler
    je ne vais pas automatiser la creat° de repertoires pr respecter l'arborescence du projet indexé.
    [/EDIT]

  7. #27
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 900
    Billets dans le blog
    54
    Par défaut
    Effectivement c'est a toi de recopier a mano les ressources dans le bon répertoire lors de la compilation, javac ne va pas le faire pour toi. Cela fait partie des facilites que font la plupart sinon toutes les IDE et que les développeurs oublient quand ils ont jamais compilé manuellement.

    En effet, a l’époque ou je développais sans passer par des IDE, je m’étais fait un code script, plus tard un code Java, qui listait tous les fichiers .java dans un fichier sources .txt que je passais au compilateur via la sytntaxe @
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  8. #28
    Membre confirmé
    Homme Profil pro
    conducteur autocar
    Inscrit en
    Janvier 2020
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : conducteur autocar
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2020
    Messages : 67
    Par défaut
    voilà,

    je publie le zip.
    vs vs retrouvez avec 1 rep JavaFX_indexeur_projets.
    dedans
    5 autres repertoires
    l'indexeur de projets
    4 projets test

    avt de tester l'indexeur, testez les projets 1 par 1, histoire d'etre sur qu'ils fonctionnent chez vous.

    j'ai enlevé les binaires FX, dc vs devez les replacer (ds l'indexeur de projets ms sans doute aussi ds chaque projet.., je ne sais pas, pas testé)
    ds l'indexeur de projets, il y a 2 fichiers notice.txt

    j'ai decoupé le processus en 3 etapes pr chaque projet indexé, dc 3 boutons
    - execute la commande javac ds 1 service
    - copie les fichiers non compilables (méthode pas écrite, a vs de faire manuellement ou à coder)
    - execute la commande java ds 1 autre service

    cô indiqué plus tot, je vais m'eloigner de Java (FX) un moment.
    Je ne pars pas sans remercier bouyé qui a été là à chacun de mes posts (problémes) avec beaucoup de disponibilité.
    Ses tutos m'ont aussi qques fois sorti de la panade.
    A la revoyure l'ami.

    JavaFX_indexeur_projets.zip

    grub

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/06/2021, 03h01
  2. Réponses: 6
    Dernier message: 22/12/2004, 11h00
  3. Perte de gestionnaire d'événements dans une fenêtre
    Par Benjamin GAGNEUX dans le forum Composants VCL
    Réponses: 15
    Dernier message: 23/08/2004, 20h14
  4. Supprimer la croix dans une fenêtre modale
    Par AnneOlga dans le forum C++Builder
    Réponses: 3
    Dernier message: 15/01/2004, 14h52
  5. [JDialog] Modification dans une fenêtre
    Par cefabien dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 01/10/2003, 13h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo