Un de mes programmes (écrit en Scala 2.8) fonctionne correctement lorsqu'il est lancé au moyen de l'EDI NetBeans. Mais quand j'essaie de l'exécuter de l'extérieur, avec "java- jar", il dit "Exception dans le fil" principal "java.lang.NoClassDefFoundError: scala/ScalaObject ...". Mettre toutes les bibliothèques, incl. Le runtime Scala dans le même répertoire que le jar à lancer n'aide pas. Si j'essaye d'exécuter le pot avec scala lui-même, il se plaint qu'il ne peut pas le décoder comme utf-8 (il attend une source de scala plutôt qu'un pot, je suppose). Alors, comment puis-je exécuter une application Scala? MISE À JOUR: Pour ceux qui viennent ici plus tard ayant la même question, je vous recommande de lire les commentaires sous la réponse de Barjak (y compris ceux les plus récents cachés), la réponse est là. VonC donne également des liens intéressants sur le sujet.Comment exécuter un fichier d'application Scala construit par NetBeans à partir d'une ligne de commande en dehors d'IDE?
Répondre
Le -jar
et -classpath
de la commande java sont mutuellement exclusifs: vous ne pouvez pas faire java -jar YourScalaProg.jar -classpath scala-library.jar
Si vous voulez exécuter votre application avec java -jar
, le chemin de classe complet doit être spécifié dans la section Class-Path
de ce pot manifeste.
Vous pouvez exécuter votre application en utilisant seulement -classpath
, comme cela: java -classpath YourScalaProg.jar:scala-library.jar your.package.MainClass
.
Dit "... Java.lang.ClassNotFoundException: Main ...". Ma classe principale (objet) est Main. – Ivan
Avez-vous utilisé le nom canonique de la classe? Le nom canonique est le nom de la classe précédée du nom du paquet: 'org.blah.Main'. En outre, en fonction de votre système d'exploitation, vous devez utiliser ':' ou ';' comme séparateur de chemin de classe. – barjak
Il semble que mon i686 Arch Linux utilise ':' (en utilisant ';', cela conduit à l'aide de java à être imprimée). en utilisant le nom de la classe principale canonique n'a pas aidé. – Ivan
Utilisez-vous scala-library.jar
comme décrit dans Adventures with Scala blog?
java -classpath scala-library.jar:. YourClass
ou:
java -classpath scala-library.jar:yourApp.jar YourClass
Où est YourClass
était votre scalac
code compilé Scala.
Vous trouverez le même scala-library.jar
utilisé dans la question SO "Creating a jar file from a Scala file" (ou dans le blog "the not so elegant way of creating an executable jar from scala code").
La classe principale (objet) de l'application est "Main" avec la fonction "principale". Le projet est "Foobar". Les lignes que vous avez données ne fonctionnent ni avec "Main", ni "main", ni "Foobar" ni "foobar" pour "YourClass". – Ivan
J'ai réussi. La solution consistait à lister toutes les librairies utilisées dans classpath. Mais ne puis-je pas simplement pointer vers un répertoire (contenant plus de bocaux que nécessaire, y compris les bocaux source et doc)? – Ivan
- 1. Exécution de l'application Netbeans Maven Scala à partir de la ligne de commande
- 2. Comment exécuter une application NetBeans compilée de manière incrémentielle à partir de la ligne de commande?
- 3. Exécuter garbage collector à partir de la ligne de commande?
- 4. Comment exécuter un programme Java à partir de la ligne de commande à l'aide d'un fichier de lancement Eclipse?
- 5. Comment exécuter Qt à partir de la ligne de commande dans Windows
- 6. Programmer un fichier DOS pour exécuter une ligne de commande Exécuter
- 7. Comment exécuter un doublage Perl à partir d'un fichier makefile?
- 8. visual studio projet d'installation construit à partir de la ligne de commande
- 9. Comment exécuter un script PHP à partir de la ligne de commande avec MAMP?
- 10. Comment exécuter un script de traitement par lots (fichier .bat) à partir d'eclipse
- 11. exécuter la commande de ligne de commande à partir de Perl?
- 12. Exécuter Java de la ligne de commande
- 13. Comment passer des arguments de ligne de commande à un programme via Netbeans?
- 14. Convertir stdin en un fichier par ligne
- 15. Comment exécuter un fichier batch à partir de Java?
- 16. Comment puis-je exécuter une commande unique à partir de la ligne de commande via sql plus?
- 17. Comment exécuter les commandes de ligne de commande à partir du code
- 18. Comment exécuter des fichiers .class sur des fenêtres à partir de la ligne de commande?
- 19. Exécuter php à partir de la ligne de commande en mode 32 bits
- 20. Comment sélectionner un fichier de configuration d'application .Net à partir d'un paramètre de ligne de commande?
- 21. comment exécuter le fichier php dans netbeans
- 22. Comment faire pour exécuter OCTest à partir de la ligne de commande, pas XCode
- 23. Python exécuter la ligne de commande (heure)
- 24. Existe-t-il un débogueur de ligne de commande Scala?
- 25. Exécuter un fichier externe à partir d'Eclipse PDT?
- 26. Comment exécuter plusieurs scripts PHP à partir de l'interface de ligne de commande
- 27. Comment exécuter un projet avec des arguments de ligne de commande (commutateurs) après avoir été construit dans Monodevelop?
- 28. Comment exécuter le script R ligne par ligne à partir de shell Linux?
- 29. Problème lors de l'exécution d'un fichier jar construit dans netbeans
- 30. Puis-je utiliser la ligne de commande ou exécuter un fichier de commandes à partir du code managé? (.NET)
Voir http://stackoverflow.com/questions/809138/creating-a-jar-file-from-a-scala-file –
@ alexey-romanov, j'ai commencé à partir de là, ça n'a pas aidé. Je ne connais rien aux manifestes, j'utilise NetBeans IDE (qui utilise lui-même Ant) et je m'en sers pour construire. – Ivan