我在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。当我选择使用这个原型时,我会在Eclipse中收到一堆错误消息。
在我的第二次尝试中,我尝试下载预打包的包(Scala IDE for Eclipse)。同样,当我尝试创建Scala Maven项目时,我没有看到Group Id = net.alchim31.maven的Maven原型(仅适用于Group Id = org.scala-tools.archetypes)。
关于我在这里做错了什么的想法?或者我可以在哪里找到一个香草Scala Maven项目来导入/修改和用于我自己的目的?
答案 0 :(得分:53)
以下是我如何使用它。似乎所有的原型都不可用,所以基于this answer,我创建了一个远程目录
转到[Windows]→[首选项]→[Maven]→[Archetypes]→添加远程目录并创建目录,然后应用
复制粘贴:
- 目录文件: http://repo1.maven.org/maven2/archetype-catalog.xml
- 说明:远程原型
返回创建一个新的Maven项目。从下拉列表中选择Remote Catalog
。收集所有原型需要一些时间。您可以在IDE的右下角看到进度。完成后,你应该能够看到原型
使用groupId和artifactId等创建项目。
右键单击项目,然后从上下文菜单[Run As]& rarr [Maven Build]中单击鼠标右键。在对话框中,在目标中键入clean package
。运行。该项目应该构建并运行测试。
首先,我在构建时遇到错误。这是因为我的默认环境是使用Java 8.我对Scala很新,所以我不确定Scala和Java 8是否存在问题(我认为它是pom中的Scala版本(2.10)。 0))。但我所做的就是将IDE中使用的Java版本更改为Java 7。
基本上只需转到[Windows]→[Preferenes]→[Java]→[已安装的JRE]→添加→[系统VM]→下一步→目录→查找Java主目录(版本7)→完成→然后在列表中勾选Java 7。
然后重新建造。它应该工作。祝你好运!
答案 1 :(得分:2)
我想补充一点,如果您在安装图片1中显示的原型时遇到以下错误
无法解析Archetype org.glassfish.jersey.archetypes:新泽西快速入门-web应用:2.21 org.eclipse.core.runtime.CoreException:无法解析工件 org.glassfish.jersey.archetypes:Jersey的快速启动-web应用:POM:2.21
然后在使用指定的解决方案above进行处理之前,尝试在eclipse中完成these steps。
答案 2 :(得分:1)
我遇到了同样的问题,偶然发现了这个问题,以及@peeskillet给出的答案(非常感谢)。我正在使用:
完全遵循这里给出的步骤后,我碰到了一堵墙。当我选择正确的原型(net.alchim31.maven)时,我遇到了这个错误:
Could not resolve artifact net.alchim31.maven:scala-archetype-simple:pom:1.5
怀疑嵌入日食的maven表现得很有趣,我访问了[Windows] - > [Maven] - > [安装]并添加了maven的本地安装(在我的shell中设置为M2_HOME)。但是,没有运气!
激怒了,我访问了这个网站:Scala Doc并在此页面指示时切换回命令行。令人惊讶的是(至少对我而言),它起作用了。在当前目录中创建了一个maven-Scala项目,我可以将其导入Eclipse。
为了让我不被误解,我并不是说@peeskillet的答案是错误的。只是想分享另一种在Eclipse上创建maven-scala项目的方法,以防它对某人有所帮助。我还没有理解,为什么Eclipse-Scala-IDE还没有给出'Aha'的感觉。
答案 3 :(得分:1)
如上所述成功创建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>