2013-04-16 4 views
5

J'écris un programme mixte Scala et Java en utilisant Eclipse. Tout fonctionnait bien jusqu'à il y a environ une heure, quand tout est allé en enfer sans raison apparente.Erreurs de compilation Mysterious Scala + Eclipse

Aucun problème (Scala ou Java) n'a été signalé dans Eclipse, mais le générateur Scala semble échouer quelque part. Il ne produit plus aucun fichier de classe. Tenter d'exécuter « Bonjour tout le monde » à Scala résultats maintenant dans le message:

Project « projectname » contient des erreurs de compilation (donc pas de binaires ont été produites)

J'utilise les paramètres par défaut de la Scala constructeur, et cela a bien fonctionné plus tôt. Je n'ai rien changé.

J'ai essayé de nettoyer et de reconstruire le projet plusieurs fois, en vain. La boîte de dialogue de progression de construction donne l'impression que les générations Scala et Java sont réussies. Les parties Pure-Java du programme sont compilées et exécutées avec succès. (J'ai temporairement commenté les endroits où Java appelle à Scala, parce que l'absence de fichiers de classe Scala causait une erreur d'importation 'classe non résolue')

Y at-il un journal des erreurs de compilation Scala quelque part qui me dira ce qui se passe faux?? Je suis sur le point de commencer à me déchirer les cheveux.

Je ne me souviens pas exactement ce que je faisais qui a causé cela, mais il ne l'aurais pas été quelque chose exotique: écrire quelques nouvelles classes, une refactorisation de base, etc.

+0

Essayez de construire avec maven à partir de la console. Les drapeaux pour plus de verbosité (comme '-X') pourraient aider. – Landei

Répondre

1

D'abord sur la sortie regard de la console Eclipse pendant construire. Vous pouvez voir beaucoup de choses intéressantes :-).

seule direction possible de se pencher sur:

Je ne suis pas sûr à 100% mais AFAIR Eclipse utilise Maven pour créer des sources Java et Scala (au moins sur des projets que je recevais). Si vous voyez le fichier pom.xml dans la racine du projet, c'est cela et vous pouvez essayer d'émettre des commandes comme mvn compile et vérifier les logs. Avec Maven, il pourrait y avoir beaucoup de problèmes à partir de ceux dans le référentiel JAR local.

BTW Le dépôt Maven est situé dans ~/.m2. Bien sûr, la plus grande partie correspond aux installations Unix.

+1

Excellente idée de regarder dans la sortie de la console Eclipse. J'ai trouvé ce petit bijou: '[$ anon $ 1] erreur supprimée dans le fichier Java: référence cyclique illégale impliquant la classe ExtensibleFieldSerializer [AnalysisCompile] Compilation failed' Cette classe a été utilisé dans un endroit dans mon code Scala. J'ai commenté la ligne, laissé le projet reconstruire, et décommenté ... et maintenant tout fonctionne à nouveau. [Une autre question StackOverflow] (http://stackoverflow.com/questions/13423693/illegal-cyclic-reference-error-in-eclipse-scala-plugin) indique que cette bizarrerie pourrait être un bug avec le plugin Scala. – ljp

+0

:) Mon premier message sur l'étiquette de scala ici. Je fais beaucoup de travail en ligne de commande près de l'emballage, en particulier Maven et sbt. Les choses ne sont pas si différentes sans Eclipse. –