Existe-t-il un moyen de compiler un projet Java basé sur Eclipse à partir de la ligne de commande?
J'essaye d'automatiser ma construction (en utilisant FinalBuilder pas ant), et je ne suis ni un expert Java ni Eclipse. Je peux probablement comprendre comment faire cela avec des options de ligne de commande java droites, mais le projet Eclipse semble être beaucoup d'efforts inutiles.
Dans le cas où il n'y a aucun moyen de compiler un projet Eclipse via la ligne de commande, existe-t-il un moyen de générer la ligne de commande java requise à partir d'Eclipse? Ou y a-t-il des fichiers que je peux fouiller pour trouver les étapes de compilation qu'il effectue dans les coulisses?
Les gars, je cherche une réponse qui n'inclut PAS la fourmi. Permettez-moi de réitérer la question d'origine ... Existe-t-il un moyen de créer un projet Eclipse à partir de la ligne de commande?
Je ne pense pas que ce soit une question déraisonnable étant donné que je peux faire quelque chose comme ça pour Visual Studio:
devenv.exe /build "Debug|Any CPU" "C:\Projects\MyProject\source\MyProject.sln"
la source
Réponses:
Vous pouvez créer un projet eclipse via un espace de travail à partir de la ligne de commande:
Il utilise le
jdt apt
plugin pour créer automatiquement votre espace de travail. Ceci est également connu sous le nom de «construction sans tête». Merde difficile à comprendre. Si vous n'utilisez pas d'exe win32, vous pouvez essayer ceci:Mettre à jour
Il y a plusieurs années, l'éclipse a été remplacée
startup.jar
par le "lanceur d'équinoxe"https://wiki.eclipse.org/Equinox_Launcher
Sur Eclipse Mars (MacOX):
Le
-data
paramètre spécifie l'emplacement de votre espace de travail.Le numéro de version du lanceur Equinox dépendra de la version d'Eclipse dont vous disposez.
la source
Pour compléter la réponse d'André, une solution ant pourrait être comme celle décrite dans Emacs, JDEE, Ant et le compilateur Java Eclipse , comme dans:
L'élément compilerarg vous permet également de transmettre des arguments de ligne de commande supplémentaires au compilateur eclipse.
Vous pouvez trouver ici un exemple de script ant complet qui serait appelé dans une ligne de commande avec:
MAIS tout ce qui concerne la fourmi, ce n'est pas ce que Keith cherche.
Pour une compilation par lots, veuillez vous référer à Compilation de code Java , en particulier la section " Utilisation du compilateur par lots "
Exécuter le compilateur par lots à partir de la ligne de commande donnerait
ou:
Toutes les options de compilation java sont également détaillées dans cette section.
La différence avec la fonctionnalité de compilation de ligne de commande Visual Studio est qu'Eclipse ne semble pas lire directement ses .project et .classpath dans un argument de ligne de commande . Vous devez rapporter toutes les informations contenues dans le .project et le .classpath dans diverses options de ligne de commande afin d'obtenir le même résultat de compilation.
Donc, la réponse courte est: "oui, c'est en quelque sorte Eclipse." ;)
la source
Après 27 ans, moi aussi, je suis mal à l'aise de développer dans un IDE. J'ai essayé ces suggestions (ci-dessus) - et je n'ai probablement pas tout suivi correctement - alors j'ai fait une recherche sur le Web et j'ai trouvé ce qui fonctionnait pour moi sur ' http://incise.org/android-development-on-the- command-line.html '.
La réponse semblait être une combinaison de toutes les réponses ci-dessus (veuillez me dire si je me trompe et accepter mes excuses si oui).
Comme mentionné ci-dessus, eclipse / adt ne crée pas les fichiers ant nécessaires. Pour compiler sans EDI eclipse (et sans créer de scripts ant):
1) Générez build.xml dans votre répertoire de niveau supérieur:
2) Ensuite, je compile le projet. J'étais un peu confus par la demande de ne pas utiliser «fourmi». Espérons que le demandeur voulait dire qu'il ne voulait pas écrire de scripts de fourmis. Je dis cela car la prochaine étape consiste à compiler l'application en utilisant ant
3) Pour installer l'apk sur l'appareil, j'ai dû utiliser à nouveau fourmi:
4) Pour exécuter le projet sur mon téléphone Android, j'utilise adb.
3A) Remarque: pour afficher le journal de l'utilisation de l'appareil:
3B) Une deuxième note latérale: Le lien mentionné ci-dessus comprend également des instructions pour construire l'ensemble du projet à partir de la commande.
Espérons que cela aidera à résoudre la question. Je sais que j'étais vraiment heureux de trouver quelque chose sur ce sujet ici.
la source
ant installd
pour installer sans construireL'approach normal fonctionne dans l'autre sens: vous créez votre build basé sur maven ou ant , puis utilisez des intégrations pour votre IDE de choix afin que vous en soyez indépendant, ce qui est esp. important lorsque vous essayez de mettre à niveau les nouveaux membres de l'équipe ou d'utiliser un serveur d'intégration contious pour les builds automatisés. Je recommande d'utiliser maven et de le laisser faire le gros du travail à votre place. Créez un fichier pom et générez le projet eclipse via mvn eclipse: eclipse. HTH
la source
Cette question contient des liens utiles sur les versions sans tête, mais ils sont principalement destinés à la création de plugins. Je ne sais pas dans quelle mesure cela peut être appliqué à des projets Java purs.
la source
Je voulais juste ajouter mes deux cents à cela. J'ai essayé de faire comme @Kieveli suggéré pour non win32 (répété ci-dessous) mais cela n'a pas fonctionné pour moi (sur CentOS avec Eclipse: Luna):
Sur ma configuration particulière sur CentOS en utilisant Eclipse (Luna), cela a fonctionné:
La sortie devrait ressembler à ceci:
Je ne sais pas trop pourquoi il l'a apparemment fait deux fois, mais cela semble fonctionner.
la source
Salut Juste un ajout aux commentaires de VonC. J'utilise le compilateur ecj pour compiler mon projet. c’était par surprise que certaines classes ne soient pas trouvées. Mais le projet fonctionnait bien avec le compilateur javac.
J'ai donc juste ajouté les classes dans le classpath (que nous devons passer en argument) et maintenant cela fonctionne bien ... :)
Kulbir Singh
la source
Réponse courte. Non. Eclipse n'a pas de commutateur de ligne de commande comme Visual Studio pour créer un projet.
la source