导航:首页 > 源码编译 > 编译期依赖

编译期依赖

发布时间:2023-03-07 21:01:27

‘壹’ 如何配置sbt的build.sbt使得编译时将依赖包也打包进去

首先问题解决了,就是sbt-assembly插件的配置问题。这个文档自己前两次读表示看不懂意思。过2天又仔细看了一遍大致明白了,敢动手操作了。
assembly插件的目的是:
The goal is simple: Create a fat JAR of your project with all of its dependencies.
即将项目依赖的大文件也打包到生成的jar中。我的报错Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/streaming/kafka/KafkaUtils$就是因为包含KafkaUtil的jar包没打包到jar中。
配置使用插件
下面是我的scala项目目录结构:
.
├── assembly.sbt
├── build.sbt
├── project
├── README.md
├── run-assembly.sh
├── run.sh
├── src
└── target

插件的配置取决于sbt的版本,详情见这里
我的是sbt 0.13.8,所以在project/assembly.sbt添加(assembly.sbt)要自己创建:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.0")

配置assembly的参数
参数在项目根目录下新建assembly.sbt。
直接引入插件就可以用
sbt assembly

编译了,但是由于我的sbt下载了大量的依赖包,在编译的时候遇到了编译包冲突的问题。这个时候需要配置Merge Strategy(合并策略)

‘贰’ 怎样解决maven里编译时包的依赖有关问题

一、导出到默认目录 targed/dependency
从Maven项目中导出项目依赖的jar包:进入工程pom.xml 所在的目录下,执行如下命令

mvn dependency:-dependencies
或在eclipse中,选择项目的pom.xml文件,点击右键菜单中的Run As,见下图红框中,在弹出的Configuration窗口中,输入 dependency:-dependencies后,点击运行
maven项目所依赖的jar包会导出到targed/dependency目录中。
二、导出到自定义目录中
在maven项目下创建lib文件夹,输入以下命令:

mvn dependency:-dependencies -DoutputDirectory=lib
maven项目所依赖的jar包都会复制到项目目录下的lib目录下
三、设置依赖级别
同时可以设置依赖级别,通常使用compile级别

mvn dependency:-dependencies -DoutputDirectory=lib -DincludeScope=compile

阅读全文

与编译期依赖相关的资料

热点内容
floyd最短路径算法c 浏览:382
新湖app在哪里下载 浏览:703
计算机图形学涉及的算法 浏览:369
阿里云linux一键web 浏览:25
弹性云服务器注册 浏览:169
垃圾程序员写出垃圾代码 浏览:760
帝国时代java下载 浏览:52
数据结构的经典算法题 浏览:194
逍遥安卓多开管理器是干什么的 浏览:914
程序员收玉米一天多少钱 浏览:355
程序员很可爱根据哪本小说改编的 浏览:984
游戏旧版安卓怎么玩 浏览:263
冗余单片机 浏览:849
cad抽壳命令怎么用 浏览:29
服务器第一地址怎么改 浏览:498
单片机最小系统电路设计流程图 浏览:669
steam源码 浏览:35
关于对数的运算法则及公式 浏览:781
明星谈如何缓解压力 浏览:147
androidlistview隐藏列 浏览:402