如何找到正确的 Maven 原型项目以在 Eclipse 中使用 Scala 进行开发?

How do I find the correct Maven archetype project for developing with Scala in Eclipse?

我在尝试使用 Eclipse (Luna) 中的 Scala (v2.11.6) 创建 Maven 项目时遇到问题。说明 here 说要安装下面的两个插件。

两个插件都可以使用 m2eclipse-scala update site 安装。所以这是我第一次尝试时所做的。

当 Eclipse 加载时,我尝试创建一个 Maven 项目,我想使用的原型是 Group Id=net。alchim31.maven,Artifact Id=scala-archetype-simple,Version=1.5。但是,当我在过滤器文本字段中输入 "scala-arch" 时,此原型从未出现。

我看到的唯一项目是Group Id=org.scala-tools.archetypes,Artifact Id=scala-archetype-simple,Version=1.2。当我 select 使用这个原型时,我在 Eclipse 中收到一堆错误消息。

在第二次尝试中,我尝试下载预先打包的包 (Scala IDE for Eclipse)。同样,当我尝试创建 Scala Maven 项目时,我没有看到 Group Id=net.alchim31.maven 的 Maven 原型(仅适用于 Group Id=org.scala-tools.archetypes)。

关于我在这里做错了什么有什么想法吗?或者我在哪里可以找到一个香草 Scala Maven 项目 import/modify 并用于我自己的目的?

这是我如何让它工作的。好像所有的原型都不可用,所以基于this answer,我创建了一个远程目录

之前

所以这样做

转到[Windows]→[首选项]→[Maven]→[原型]→添加远程目录并创建目录,然后申请

For copy-pasting:

返回创建一个新的 Maven 项目。 Select 下拉列表中的 Remote Catalog。收集所有原型需要一些时间。您可以在 IDE 的右下角看到进度。完成后,您应该能够看到原型

之后

使用 groupId 和 artifactId 等创建您的项目。

右键单击项目,然后从上下文菜单 [运行 As] &rarr [Maven Build]。在对话框中,在目标中输入 clean package。 运行。该项目应该构建并 运行 测试。

对我来说,一开始我在构建时遇到了错误。这是因为我的默认环境使用的是 Java 8。我对 Scala 很陌生,所以我不确定 Scala 和 Java 8 是否有问题(我认为是pom (2.10.0) 中的 Scala 版本)。但是我为了让它工作所做的只是将 IDE 中使用的 Java 版本更改为 Java 7.

基本上就是去 [Windows] → [Preferenes] → [Java] → [Installed JREs] → Add → [System VM] → 下一步 → 目录 → 找到 Java 主页(版本 7)的目录 → 完成 → 然后在列表中勾选 Java7.

然后重新构建。它应该工作。祝你好运!

我遇到了同样的问题并偶然发现了这个 SO 问题以及@peeskillet 给出的答案(非常感谢)。我正在使用:

  • 行家 3.3.3
  • Eclipse Luna Scala IDE 4.0.0.-vfinal-20150305-1644-Typesafe
  • Scala 2.11.6
  • JDK1.8

完全按照此处给出的步骤进行操作后,我碰壁了。当我选择了正确的原型(net.alchim31.maven)时,我遇到了这个错误: Could not resolve artifact net.alchim31.maven:scala-archetype-simple:pom:1.5 怀疑 eclipse 中嵌入的 maven 表现得很有趣,我访问了 [Windows] -> [Maven] -> [Installations] 并添加了 maven 的本地安装(在我的 shell).但是,运气不好!

很生气,我访问了这个站点:Scala Doc 并按照此页面的指示切换回命令行。令人惊讶的是(至少对我而言),它奏效了。在当前目录中创建了一个maven-Scala 项目,我可以将其导入到Eclipse 中。

为了不被误解,我并不是说@peeskillet 的回答是错误的。只是想分享另一种在 Eclipse 上创建 maven-scala 项目的方法,以防它对某人有所帮助。我还没有明白,为什么 Eclipse-Scala-IDE 还没有给人那种 'Aha' 的感觉。

我想补充一点,如果您在安装图 1 中显示的原型时出现以下错误

Can't resolve Archetype org.glassfish.jersey.archetypes:jersey-quickstart-webapp:2.21 org.eclipse.core.runtime.CoreException: Could not resolve artifact org.glassfish.jersey.archetypes:jersey-quickstart-webapp:pom:2.21

图 1:

然后在 eclipse 中指定 , try to complete 的解决方案之前。

在您如上所述成功创建 scala-maven 项目后,您可能会看到一个错误 "Type not found: type 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>