2 votes

Problèmes de compilation de Scala SJSON depuis GitHub

J'ai rencontré un problème avec la première version de SJSON ( Quelle est la bonne bibliothèque de sérialisation JSON pour Scala 2.8.1 à utiliser dans Eclipse ? ) que j'ai essayé d'utiliser, mais avec la nouvelle version que j'ai essayée, le même problème est toujours présent, c'est donc quelque chose que je ne sais pas comment gérer.

Voici un exemple de ce qui me pose problème. Le problème commence à la ligne 50, à l'adresse suivante https://github.com/ginkel/sjson/blob/master/src/main/scala/sjson/json/Generic.scala :

  <#list 2..9 as i> 
  <#assign typeParams><#list 1..i as j>T${j}<#if i !=j>,</#if></#list></#assign>

  def asProduct${i}[S, ${typeParams}](<#list 1..i as j>f${j}: String<#if i != j>,</#if></#list>)(apply : (${typeParams}) => S)(unapply : S => Product${i}[${typeParams}])(implicit <#list 1..i as j>bin${j}: Format[T${j}]<#if i != j>,</#if></#list>) = new Format[S]{

J'ai utilisé EGit ( http://www.eclipse.org/egit/ ) pour obtenir le code, mais lorsque j'ai essayé de le compiler, j'ai obtenu plusieurs erreurs, dont deux sont :

Description Resource    Path    Location    Type
';' expected but double literal found.  Generic.scala   /sjson/src/main/scala/sjson/json    line 50 Scala Problem
';' expected but '[' found. Generic.scala   /sjson/src/main/scala/sjson/json    line 53 Scala Problem

Alors, comment dois-je les compiler pour que cela fonctionne, sans passer par le code et le corriger, car il semblerait que ce ne soit pas la bonne approche.

4voto

Janx Points 2397

Il doit s'agir d'un problème avec Eclipse car j'ai cloné le repo et je l'ai construit avec sbt sans problème.

Si vous voulez réussir à construire ceci, je vous suggère d'installer SBT si vous ne l'avez pas déjà fait. C'est vraiment indispensable pour développer en Scala. Il est facile à intégrer à Netbeans et IntelliJ - je n'utilise plus du tout Eclipse, mais j'imagine qu'il est possible de le faire là aussi en ouvrant un shell ou une fenêtre de console et en lançant SBT à partir de là.

Une fois SBT "installé" (juste un jar et un script - http://code.google.com/p/simple-build-tool/ ), naviguez jusqu'au répertoire dans lequel vous avez cloné SJSON. Lancez 'sbt'. A l'invite de sbt, lancez 'update' pour obtenir les dépendances. Lancez 'compile' pour compiler. Et vous êtes prêts.

Si vous n'avez pas besoin de construire à partir des sources mais que vous utilisez simplement la bibliothèque dans un de vos projets, elle se trouve dans le dépôt Scala Tools : http://scala-tools.org/repo-releases/net/debasishg/sjson_2.8.0/ Vous pouvez donc l'ajouter comme dépendance dans sbt ou Maven ou Ivy. Pour SBT, cela devrait fonctionner :

val sjson = "net.debasishg" % "sjson_2.8.0" % "0.8"

Je n'ai pas utilisé personnellement cette bibliothèque. lift-json fonctionne bien pour moi. Mais sjson semble valoir le coup d'œil. Je vous souhaite bonne chance !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X