Comment trouver le bon projet Maven archetype pour le développement avec Scala dans Eclipse?

j'ai des problèmes à créer un projet Maven en utilisant Scala (v2.11.6) à L'intérieur de L'éclipse (Luna). Les instructions ici dit d'installer les deux plugins ci-dessous.

  • Intégration de Maven dans Eclipse
  • connecteur m2eclipse-scala

les deux plugins peuvent être installés en utilisant le m2eclipse-scala update site . Alors, voici ce que j'ai fait dans mon premier tenter.

  • Télécharger Eclipse Luna (pour JavaEE développeurs)
  • installe "les deux" plugins ci-dessus en utilisant le site de mise à jour m2eclipse-scala.

quand Eclipse se charge, j'essaie de créer un projet Maven, et l'archétype que je veux utiliser est Group Id=net.alchim31.maven, artefact Id = scala-archetype-simple, Version=1.5. Cependant, cet archétype n'apparaît jamais lorsque j'entre dans "scala-arch" dans le champ de texte du filtre.

le seul projet que je vois est celui avec Group Id=org.scala-outils.archétypes, artefact Id = scala-archétype-simple, Version = 1.2. Lorsque je sélectionne cet archétype à utiliser, je reçois un tas de messages d'erreur dans Eclipse.

  • erreur lors du chargement de ConsoleRunner, Scala signature ConsoleRunner a une version erronée attendue: 5.0 trouvé: 4.1 dans ConsoleRunner.classe
  • erreur lors du chargement JUnit4, Scala signature JUnit4 a tort version attendue: 5.0 trouvé: 4.1 JUnit4.classe
  • erreur lors du chargement de la spécification, la spécification Scala signature a une version erronée attendue: 5.0 trouvée: 4.1 dans la spécification.classe

dans ma deuxième tentative, j'essaie de télécharger le paquet préemballé ( Scala IDE for Eclipse ). Encore une fois, quand je tente de créer un projet Scala Maven, Je ne vois pas l'archétype Maven pour Group Id=net.alchim31.maven (seulement pour Group Id=org.scala-outils.archétypes.)

une idée de ce que je fais de mal ici? Où puis-je trouver un projet vanilla Scala Maven pour importer/modifier et utiliser dans mon propre but?

23
demandé sur Jane Wayne 2015-03-18 08:46:37

4 réponses

voilà comment je l'ai fait fonctionner. Il semble que tous les archétypes ne sont pas disponibles, donc basé sur cette réponse , j'ai créé un catalogue à distance

avant

Image showing the original dialog with missing entry

Afin de faire

Aller à [Windows] → [Préférences] → [Maven] → [Archétypes] → Ajouter à Distance du Catalogue et de créer le catalogue, puis Appliquer

Image showing "Remote Archetype Catalog" modal window

pour copier-coller:

retourner à la création d'un nouveau projet Maven. Sélectionnez le Remote Catalog à partir de la liste déroulante. Il va prendre quelques instants pour rassembler tous les archétypes. Vous pouvez voir les progrès en bas à droite de L'IDE. Quand c'est fait, vous devriez être en mesure de voir les archétypes

après

Image showing "scala-archetype" entry in the dialog

créez votre projet avec groupId et artifactId et ainsi de suite.

faites un clic droit sur le projet, puis à partir du menu contextuel [Run As] &rarr [Maven Build]. Dans la boîte de dialogue, tapez clean package dans les buts. Exécution. Le projet devrait construire et exécuter les tests.

Pour moi au début j'ai eu une erreur à la compilation. C'est parce que mon environnement par défaut utilise Java 8. Je suis assez nouveau à Scala, donc je ne suis pas sûr qu'il y ait un problème avec Scala et Java 8 ou pas (je pense que c'est la version Scala dans le pom (2.10.0)). Mais ce que j'ai fait pour que ça marche, c'est de changer la version Java utilisée dans L'IDE en Java 7.

en gros, allez à [Windows] → [Preferenes] → [Java] → [Installé Jre] → Ajouter → [Système VM] → Suivant → Répertoire → Trouver le répertoire de la base Java (version 7) → Terminer → Puis, dans la liste, cochez Java 7.

puis construire à nouveau. Il devrait fonctionner. Bonne Chance!

52
répondu Paul Samsotha 2017-05-23 12:34:28

un point que je veux ajouter, si vous obtenez l'erreur suivante lors de l'installation de l'archétype montré dans l'image 1

ne peut pas résoudre Archetype org.glassfish.Jersey.archétypes:jersey-guide de démarrage rapide-webapp:2.21 org.Eclipse.core.Runtime.CoreException: impossible de résoudre l'artefact org.glassfish.Jersey.archétypes:jersey-guide de démarrage rapide-webapp:pom:2.21

Image 1: enter image description here

ensuite , avant de procéder avec la solution spécifiée au-dessus de , essayer de remplir ces étapes dans eclipse.

2
répondu Deepak Acharya 2017-05-23 12:10:08

j'ai fait face au même problème et j'ai parié sur cette question, ainsi que sur la réponse, donnée par @peeskillet (merci beaucoup). J'utilise:

  • Maven 3.3.3
  • Eclipse Luna Scala IDE 4.0.0.- vfinal-20150305-1644-Typesafe
  • Scala 2.11.6
  • JDK 1.8

après avoir suivi les pas exactement comme indiqué ici, j'ai heurté un mur. Quand j'ai choisi le bon archétype (net.alchim31.maven), j'ai été accueilli par cette erreur: Could not resolve artifact net.alchim31.maven:scala-archetype-simple:pom:1.5 Soupçonnant que le maven intégré dans eclipse agissait de manière drôle, j'ai visité [Windows] -> [Maven] -> [Installations] et ajouté l'installation locale de maven (ce qui est défini à M2_HOME dans mon shell). Mais, pas de chance!

exaspéré, j'ai visité ce site: Scala Doc et je suis revenu à la ligne de commande comme cette page l'indique. Étonnamment (pour moi au moins), il a travaillé. Un projet maven-Scala a été créé dans le répertoire actuel, que je pourrais importer dans Eclipse.

juste pour que je ne sois pas incompris, Je ne suggère pas que la réponse de @peeskillet est fausse. Je voulais juste partager une autre façon de créer un projet maven-scala sur Eclipse, au cas où ça aiderait quelqu'un. Je n'ai pas encore compris, pourquoi Eclipse-Scala-IDE n'est pas encore donner ce sentiment "Aha".

1
répondu Nirmalya 2015-05-17 13:16:55

après avoir créé avec succès le projet scala-maven comme décrit ci-dessus, vous verrez probablement une erreur " Type not found: type JUnitRunner specs.scala " . Dans ce cas, ajoutez manuellement L'extrait XML suivant à votre CDM.

<dependency>
    <groupId>org.specs2</groupId>
    <artifactId>specs2-junit_${scala.compat.version}</artifactId>
    <version>2.4.16</version>
    <scope>test</scope>
</dependency>

de plus, pour éviter les erreurs lors de l'exécution de mvn test ,

[ERROR] scalac error: bad option: '-make:transitive'

vous devez aussi supprimer la ligne suivante du fichier pom.xml :

<arg>-make:transitive</arg>
1
répondu Viliam Simko 2016-09-27 16:29:05