sbt配置——数据源问题解决
2018-09-14 21:00
871 查看
sbt安装
环境
java 1.8
scala 2.12.6
sbt 1.2.1
idea2.18.3
软件
idea sbt插件
idea scala插件
sbt安装包
https://sbt-downloads.cdnedge.bluemix.net/releases/v1.2.1/sbt-1.2.1.msi,非必须,可直接使用idea的sbt插件做对应配置
安装sbt
新建sbt安装路径,注意:sbt安装路径中不能含有空格和中文,将sbt-1.2.1.msi安装到此路径。
配置环境变量
新建变量sbt
SBT_HOME D:\ProgramFile\sbt
添加变量到path中
%SBT_HOME%bin;
配置文件
修改文件onf/sbtconfig.txt,添加以下内容
-Dfile.encoding=UTF8
sbt仓库设置
方案一
直接修改sbt的jar里面的配置文件。windows下可通过360压缩替换掉
jar包里面的文件。
找到sbt安装目录
D:\ProgramFile\sbt\bin
备份
sbt-launch.jar为
sbt-launch.jar.bak
解压
sbt-launch.jar.bak,打开个
sbt.boot.properties文件
在
[repositories]里面的
local下面添加以下数据源
alirepo1:https://maven.aliyun.com/repository/central alirepo2:https://maven.aliyun.com/repository/jcenter alirepo3:https://maven.aliyun.com/repository/public
使用360压缩打开
sbt-launch.jar,找到
sbt.boot.properties文件并替换
方案二
配置sbt的数据源,让其优先加载我们配置的数据源在
D:\ProgramFile\sbt\conf目录下,新建文件
repository.properties
在
repository.properties中添加以下内容
[repositories]
local
alirepo1:https://maven.aliyun.com/repository/central alirepo2:https://maven.aliyun.com/repository/jcenter alirepo3:https://maven.aliyun.com/repository/public
在
conf/sbtconfig.txt中添加
repository.properties文件路径
-Dsbt.repository.config=D:/ProgramFile/sbt/conf/repository.properties
添加依赖build.sbt
在项目中找到build.sbt文件,此类似于
maven中的
pom文件
添加
spark-core和
spark-sql等的依赖
name := "sbt-test" // 项目名称 version := "0.1" // 项目版本号 scalaVersion := "2.11.12" // scala版本号 // 依赖 libraryDependencies ++= Seq( "org.apache.spark" %% "spark-core" % "2.2.0", "org.apache.spark" %% "spark-sql" % "2.2.0", "com.typesafe.scala-logging" % "scala-logging-slf4j_2.11" % "latest.integration" )
下载依赖
通过以下方式打开执行命令窗口在
build.sbt同级目录下打开
cmd窗口
在
idea中打开
Termail窗口
下载或更新jar
sbt update
编译文件
sbt compile
打包
sbt package
问题处理
版本不兼容
jdk不兼容
idea2018需要
jdk8以上
spark2.0需要
jdk8以上
文件下载缓慢
idea控制台
build界面一直在转圈,并提示
dump project structure from sbt
这里需要注意,在
Intellij Idea启动时,会执行
dump project structure from sbt的操作,也就是把sbt所需要的项目结构从远程服务器拉取到本地,在本地会生成sbt所需要的项目结构。由于是从国外的远程服务器下载,所以,这个过程很慢,笔者电脑上运行了15分钟。这个过程没有结束之前,上图中的
File->New弹出的子菜单是找不到
Scala Class这个选项的。所以,一定要等
dump project structure from sbt的操作全部执行结束以后,再去按照上图操作来新建
Scala Class文件。
修改sbt数据源
不靠谱方案
将数据源改为maven.oschina.com。此数据源已经失效
将
sbt.boot.properties中的
https改为
http。未生效
在
sbt的
vm中配置
-Dsbt.override.build.repos=true。此方法效果和
-Dsbt.repository.config=D:/ProgramFile/sbt/conf/repository.properties一致,前提是需要配置数据源
最笨方案,下载jar包,放到本地仓库
C:\Users\suning\.ivy2\cache
修改成阿里云数据源后依旧下载失败
配置的sbt版本在阿里云的仓库中没有。排查办法:可以去
maven.aliyun.com去查看对应版本pom文件是否存在
在阿里云上找到了对应版本但依旧保持。注意查看日志信息中下载的jar包路径含有
_2.10类似的字样,比如在
build.sbt中配置的是
"org.apache.spark" %% "spark-sql" % "2.2.0",但是日志里面是
[warn] :: com.typesafe.scala-logging#scala-sql_2.10;2.1.2: not found,这个是因为sbt里面的
%%代表sbt默认会拼接上scala的版本号在pom文件上,下载最适合的jar包,可以将
%%改为
%,即改为
"org.apache.spark" % "spark-sql" % "2.2.0",注意区别:仅仅是少了一个百分号。
执行
sbt-shell会走默认的仓库配置,需要在sbt的vm参数中配置
-Dsbt.override.build.repos=true????
查看配置参数是否生效
可在日志控制台查看第一行日志,查看配置参数是否生效,走的是自己安装的sbt还是idea的插件,如下日志,在sbtconfig.txt中配置信息会进行加载
"C:\Program Files\Java\jdk8\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=localhost:58502,suspend=n,server=y -Xdebug -server -Xmx1536M -Dsbt.repository.config=D:/develop/sbt/conf/repository.properties -Didea.managed=true -Dfile.encoding=UTF-8 -Didea.runid=2018.2 -jar D:\ProgramFile\sbt\bin\sbt-launch.jar idea-shell
参考链接
https://www.scala-sbt.org/0.13/docs/Proxy-Repositories.html
https://segmentfault.com/a/1190000002484978
相关文章推荐
- 数据源配置解决数据库存读取中文乱码问题
- 【问题请教】MySQL数据源配置过程中出现的问题===此问题已经解决!
- 在Mybatis-spring中由于默认Autowired导致不能配置多个数据源的问题分析及解决
- 关于打开现有项目时数据库连接配置遇到的问题 连接字符串中的数据源值指定未安装的SQL Server的实例。要解决此问题,可选择安装匹配的SQL Server实例或修改连接字符串中的数据源值
- vs2010下MFC解决自动配置数据源函数SQLConfigDataSource第四个参数字符串问题
- Spring中配置数据源的4种形式(含有如何在spring框架中解决多数据源的问题)
- 在Mybatis-spring中由于默认Autowired导致不能配置多个数据源的问题分析及解决
- 解决spring boot 1.5.4 配置多数据源的问题
- springmvc_mybatis配置文件解析,解决数据源引用报错问题
- sbt 简介 配置 加速 问题解决
- 【Spring】spring-mvc hibernate druid jdbc等数据源事务配置详解(解决注解事务不生效问题)
- secure crt连接oracle 解决oracle账户锁定问题,并配置weblogic数据源
- tomcat数据源配置文件缓存问题及解决
- mysql wait_timeout 8小时问题解决,tomcat数据源的配置
- 一个通过JNDI配置birt数据源的出现的诡异问题及解决方法
- 解决过滤王不刷卡上机网络配置问题(总结篇)
- 解决了个JDK(Java Development Kit,Java开发工具包)配置的问题
- win平台下php2.2.X mysql扩展的配置问题解决
- 解决VS2005在窗体设计界面中数据源窗口灰化不显示数据源的问题
- Struts配置连接池错误解决问题