Eclipse Scala环境的配置

前言

要开发Scala程序, 一般使用的IDE主要有3种:

  • NetBean
  • Eclipse
  • IDEA

由于个人不太习惯IDEA的一些使用功能, 已经只能打开一个项目.(这可太蠢了.)
所以, 继续选择在Eclipse IDE上集成Scala IDE. 当然, 官方提供了Scala IDE, 可以直接使用. 但是, 如果你之前哟一个版本的Eclipse的话, 个人建议还是升级比较好.


基础知识

关于Eclipse 插件的安装和卸载建议看下我的这篇文章Eclipse 插件管理.


基本操作

主要安装2项东西: scala-IDEm2e-scala模版.

Scala IDE可以选择离线安装与在线安装.

  • 在线安装(市场安装)
    注意: Eclipse有的版本没有这个, 你可以选择离线安装.
    Eclipse Scala环境的配置_第1张图片

  • 在线安装 选择地址(Oxgen):
    http://download.scala-ide.org/sdk/lithium/e47/scala212/stable/site
    注意: 相应版本的插件地址, 建议官网查看一下.
    Eclipse Scala环境的配置_第2张图片

  • 离线安装: http://scala-ide.org/download/prev-stable.html
    解压压缩包, 随后安装即可.

  • 安装m2e-scala
    Maven项目内识别scala程序. 下载地址:
    http://alchim31.free.fr/m2e-scala/update-site/
    Eclipse Scala环境的配置_第3张图片

  • 在线安装(同上 输入 m2e-scala/http://alchim31.free.fr/m2e-scala/update-site/)
    这个地址国内被墙了, 而且貌似jar包名字多一个空格.(真坑)

  • 离线安装(同上 Scala-IDE)
    我已经上传到CSDN上了, 当然你也可以将上面的东西下载下来. 离线安装即可.


Scala环境配置

  • 选择适合的Scala版本
  • 配置Scalabuild path.
    Eclipse Scala环境的配置_第4张图片
  • 测试程序运行
    创建Hello.scala, 运行.
object Hello2 {
  def main(args: Array[String]): Unit = {
        println("123")
  }
}

Eclipse Scala环境的配置_第5张图片
注意, 如果没有Run as Scala Application. 原因有2个:

  • Scala-IDE插件配置错误;
  • 代码或包错误.

另: 官方的这个操作教学视频还可以, 大家有兴趣可以看看. 相关地址: http://scala-ide.org/download/current.html


Others

代码补齐报错.An internal error occurred during: "Computing additional info".
解决办法: 更换版本 / 不使用代码补全功能.(这个问题非常恶心)
[10]. eclipse安装Scala IDE插件及An internal error occurred during: "Computing additional info"报错解决


Maven

在使用模版创建完成后, 发现并不好用. Scala使用的依赖类库需要跟随自己的使用进行升级.

# 原版

  4.0.0
  com.yanxml
  quick-scala
  0.0.1-SNAPSHOT
  ${project.artifactId}
  My wonderfull scala app
  2010
  
    
      My License
      http://....
      repo
    
  

  
    1.6
    1.6
    UTF-8
    2.10
    2.10.0
  

  
    
      org.scala-lang
      scala-library
      ${scala.version}
    

    
    
      junit
      junit
      4.11
      test
    
    
      org.specs2
      specs2_${scala.tools.version}
      1.13
      test
    
    
      org.scalatest
      scalatest_${scala.tools.version}
      2.0.M6-SNAP8
      test
    
  

  
    src/main/scala
    src/test/scala
    
      
        
        net.alchim31.maven
        scala-maven-plugin
        3.1.3
        
          
            
              compile
              testCompile
            
            
              
                -make:transitive
                -dependencyfile
                ${project.build.directory}/.scala_dependencies
              
            
          
        
      
      
        org.apache.maven.plugins
        maven-surefire-plugin
        2.13
        
          false
          true
          
          
          
            **/*Test.*
            **/*Suite.*
          
        
      
    
  


# 更新版本

	4.0.0
	com.yanxml
	quick-scala
	0.0.1-SNAPSHOT
	${project.artifactId}
	My wonderfull scala app
	2010
	
		
			My License
			http://....
			repo
		
	

	
		1.8
		1.8
		UTF-8
		2.11
		2.11.8
	

	
		
		
			org.apache.commons
			commons-lang3
			3.7
		
		
			org.scala-lang
			scala-library
			${scala.version}
		



		
			org.scala-lang
			scala-library
			2.11.8
		
		
			org.scala-lang
			scala-compiler
			2.11.8
		
		
			org.scala-lang
			scala-reflect
			2.11.8
		
		
		
			org.scala-lang
			scala-actors
			2.11.8
		
		
		
			junit
			junit
			4.11
			test
		
		
		
		
			org.scalatest
			scalatest_2.11
			3.0.0-M16-SNAP6
			test
		

		
			org.scalatest
			scalatest_${scala.tools.version}
			3.0.0-M16-SNAP6
			test
		

		
		
			org.apache.spark
			spark-core_2.11
			2.2.1
		

		
		
		
			com.typesafe.akka
			akka-actor_2.11
			2.3.14
		
		
		
			com.typesafe.akka
			akka-remote_2.11
			2.3.14
		

	

	
		src/main/scala
		src/test/scala
		
			
				
				net.alchim31.maven
				scala-maven-plugin
				3.1.3
				
					
						
							compile
							testCompile
						
						
							
								-make:transitive
								-dependencyfile
								${project.build.directory}/.scala_dependencies
							
						
					
				
			
			
				org.apache.maven.plugins
				maven-surefire-plugin
				2.13
				
					false
					true
					
					
					
						**/*Test.*
						**/*Suite.*
					
				
			
		
	


Q1:


Description	Resource	Path	Location	Type
missing or invalid dependency detected while loading class file 'JsonBaseMatchers.class'. Could not access term parsing in package scala.util, because it (or its dependencies) are missing. Check your build definition for missing or conflicting dependencies. (Re-run with `-Ylog-classpath` to see the problematic classpath.) A full rebuild may help if 'JsonBaseMatchers.class' was compiled against an incompatible version of scala.util. (NOTE: It looks like the scala-parser-combinators module is missing; try adding a dependency on "org.scala-lang.modules" : "scala-parser-combinators".        See http://docs.scala-lang.org/overviews/ for more information.)	quick-scala		Unknown	Scala Problem

A1: 更新Maven依赖类库的版本.
scala-eclipse-maven环境搭建

Q2: Eclipse 内无法读取Scala源码. 无法解决! 这个问题是为什么那么多人无奈选择IDEA的原因. 至于其他的部分源码, 可以使用反编译工具. 个人感觉可以内嵌Scala反编译工具到Eclipse里面即可.(感觉个人有兴趣,可以开发一个.)

  1. 在eclipse中添加jdk源码
  2. eclipse 关联源码的两种方式
  3. spark最新源码下载并导入到开发环境下助推高质量代码(Scala IDEA for Eclipse和IntelliJ IDEA皆适用)(以spark2.2.0源码包为例)(图文详解)
  4. attaching-sources-in-intellij-idea-for-scala-project
  5. intellij idea查看scala sdk的源代码
  6. Eclipse安装反编译插件
  7. MyEclipse中android 项目如何解决第三方jar无法关联源码的问题( The JAR of this class file belongs to container ‘Android Private Libraries’ which does not allow modifications to source attachments on its entries.
  8. running-spark-on-eclipse-in-linux
  9. importing-spark-source-code-to-eclipse-ide
  10. 用Eclipse开发Spark应用,如何跟踪Spark源代码
  11. eclipse不识别scala代码
  12. Eclipse中如何关联源码?
  13. scala ide for eclipse搭建spark源码阅读环境报错
  14. Eclipse中Maven引入依赖后自动下载并关联源码(Source)

Reference

[1]. Offical - Scala IDE
[2]. Offical - m2e-scala
[3]. eclipse安装scala环境
[4]. 在eclipse中如何配置运行Scala?
[5]. eclipse安装scala
[6]. 分别用Eclipse和IDEA搭建Scala+Spark开发环境
[7]. maven插件(3) - scala插件scala-maven-plugin
[8]. Scala之——Eclipse离线手动安装Scala插件
[9]. There is “Run Configuration” but no “Run As Scala Application” in Eclipse
[10]. eclipse安装Scala IDE插件及An internal error occurred during: "Computing additional info"报错解决
[11]. 编写代码时,每打一个字符就会弹出“Computing additional info”.Could not initialize class…

你可能感兴趣的:(16.,软件经验,-------16.4.,Eclipse经验,5.,Java,-------5.5.,IDE和插件配置,-------5.6.,Eclipse)