Как найти правильный проект архетипа Maven для разработки с помощью Scala в Eclipse?
У меня возникают проблемы с попыткой просто создать проект Maven, используя Scala (v2.11.6) в Eclipse (Luna). В инструкциях здесь говорится, чтобы установить оба плагина ниже.
- Интеграция Maven в Eclipse
- m2eclipse- scala разъем
Оба плагина могут быть установлены с помощью сайта m2eclipse- scala обновления. Итак, вот что я сделал в своей первой попытке.
- Загрузите Eclipse Luna (для разработчиков JavaEE)
- Установите "оба" плагина выше, используя сайт обновления m2eclipse- scala.
Когда Eclipse загружается, я пытаюсь создать проект Maven, и архетипом, который я хочу использовать, является Group Id = net.alchim31.maven, Artifact Id = scala -archetype-simple, Version = 1.5. Однако этот архетип никогда не появляется, когда я вхожу в "scala -arch" в текстовое поле фильтра.
Единственный проект, который я вижу, - это группа с идентификатором группы = org.scala-tools.archetypes, Artifact Id = scala -archetype-simple, Version = 1.2. Когда я выбираю этот архетип для использования, я получаю кучу сообщений об ошибках в Eclipse.
- при загрузке ConsoleRunner, Scala подпись ConsoleRunner имеет неправильную версию: 5.0 найден: 4.1 в ConsoleRunner.class
- при загрузке JUnit4, Scala подпись JUnit4 имеет неправильную версию: 5.0 найден: 4.1 в JUnit4.class
- ошибка при загрузке Спецификация, Scala подпись Спецификация имеет неправильную версию: 5.0 найдено: 4.1 в Specification.class
Во второй попытке я пытаюсь загрузить пакет, предварительно упакованный (Scala IDE для Eclipse). Опять же, когда я пытаюсь создать проект Scala Maven, я не вижу архетип Maven для Group Id = net.alchim31.maven(только для Group Id = org.scala-tools.archetypes).
Любые идеи о том, что я делаю неправильно здесь? Или где я могу найти проект ванили Scala Maven для импорта/изменения и использования для моей собственной цели?
Ответы
Ответ 1
Вот как я заработал. Кажется, все архетипы недоступны, поэтому на основе этого ответа я создал удаленный каталог
Перед
![Image showing the original dialog with missing entry]()
Так что сделайте это
Перейдите в раздел [Windows] & rarr; [Предпочтения] → [Maven] → [Архетипы] → Add Remote Catalog и создайте каталог, затем Apply
![Image showing "Remote Archetype Catalog" modal window]()
Для копирования:
Вернитесь к созданию нового проекта Maven. В раскрывающемся списке выберите Remote Catalog
. Потребуется несколько минут, чтобы собрать все архетипы. Вы можете увидеть прогресс в самом нижнем правом углу IDE. Когда это будет сделано, вы сможете увидеть архетипы
После
![Image showing "scala-archetype" entry in the dialog]()
Создайте свой проект с помощью groupId и artifactId и т.д.
Щелкните правой кнопкой мыши проект, затем в контекстном меню [Run As] & rarr [Maven Build]. В диалоговом окне введите clean package
в цели. Бег. Проект должен строить и запускать тесты.
Для меня сначала я получил ошибку в сборке. Это потому, что моя среда по умолчанию использует Java 8. Я новичок в Scala, поэтому я не уверен, что есть проблема с Scala и Java 8 или нет (я думаю, что это версия Scala в pom (2.10.0)). Но то, что я сделал, чтобы заставить его работать, - это просто изменить версию Java, используемую в IDE, для Java 7.
В основном просто перейдите к [Windows] & rarr; [Привилегии] → [Java] → [Установленные JRE] → Add → [System VM] → Next → Directory → Найдите каталог дома Java (версия 7) → Finish → Затем в списке отметьте Java 7.
Затем создайте снова. Он должен работать. Удачи!
Ответ 2
Я столкнулся с одной и той же проблемой и случайно на этом вопросе SO, а также на ответ, который дал @peeskillet (большое спасибо). Я использую:
- Maven 3.3.3
- Eclipse Luna Scala IDE 4.0.0.-vfinal-20150305-1644-Typesafe
- Scala 2.11.6
- JDK 1.8
После выполнения шагов, точно указанных здесь, я ударил стену. Когда я выбрал правильный архетип (net.alchim31.maven), меня встретила эта ошибка:
Could not resolve artifact net.alchim31.maven:scala-archetype-simple:pom:1.5
Подозревая, что maven, встроенный в eclipse, действовал смешно, я посетил [Windows] → [Maven] → [Установки] и добавил локальную установку maven (независимо от того, что установлено в M2_HOME в моей оболочке). Но, не повезло!
В ожидании, я посетил этот сайт: Scala Doc и переключился обратно в командную строку, как указано на этой странице. Удивительно (по крайней мере, для меня), это сработало. В текущем каталоге был создан проект maven- Scala, который я мог бы импортировать в Eclipse.
Просто, чтобы меня не поняли неправильно, я не предполагаю, что ответ @peeskillet неверен. Просто хотел поделиться другим способом создания проекта maven- Scala на Eclipse, если он кому-то поможет. Я еще не понял, почему Eclipse- Scala -IDE еще не дал этого чувства "Ага".
Ответ 3
Одна точка, которую я хочу добавить, Если вы получаете следующую ошибку при установке архетипа, показанного на изображении 1
Невозможно разрешить Archetype org.glassfish.jersey.archetypes: джерси-Quickstart-WebApp: 2,21 org.eclipse.core.runtime.CoreException: не удалось разрешить артефакт org.glassfish.jersey.archetypes: джерси-Quickstart-WebApp: П: 2,21
Изображение 1:
![введите описание изображения здесь]()
Затем перед обработкой с указанным решением выше, попробуйте выполнить эти шаги в eclipse.
Ответ 4
После того, как вы успешно создали проект scala -maven, как описано выше, вы, вероятно, увидите ошибку . Тип не найден: введите JUnitRunner specs.scala ". В этом случае вручную добавьте следующий фрагмент XML в ваш pom.
<dependency>
<groupId>org.specs2</groupId>
<artifactId>specs2-junit_${scala.compat.version}</artifactId>
<version>2.4.16</version>
<scope>test</scope>
</dependency>
Кроме того, чтобы избежать ошибок при запуске mvn test
,
[ERROR] scalac error: bad option: '-make:transitive'
Вам также нужно удалить следующую строку из файла pom.xml
:
<arg>-make:transitive</arg>