在简单Scala项目中对json4s本机进行着色时出错:";符号';术语org.json4s';类路径中缺少;

在简单Scala项目中对json4s本机进行着色时出错:";符号';术语org.json4s';类路径中缺少;,scala,sbt,sbt-assembly,json4s,Scala,Sbt,Sbt Assembly,Json4s,我有一个简单的Scala项目,在使用sbt汇编编译fat-JAR之前,我想对json4s-native进行着色处理。我的想法是,在我自己的代码中,然后导入着色的Java类,如下所示 import acme.shade.org.json4s.native.Json ... 我尝试使用以下简化的build.sbt(灵感来源于)。其思想是创建一个依赖于json4s native的空项目,对类进行着色,然后让我的实际项目依赖于包含着色类的JAR val commonSettings=Seq( 组织机构

我有一个简单的Scala项目,在使用
sbt汇编编译fat-JAR之前,我想对json4s-native进行着色处理。我的想法是,在我自己的代码中,然后导入着色的Java类,如下所示

import acme.shade.org.json4s.native.Json
...
我尝试使用以下简化的
build.sbt
(灵感来源于)。其思想是创建一个依赖于
json4s native
的空项目,对类进行着色,然后让我的实际项目依赖于包含着色类的JAR

val commonSettings=Seq(
组织机构:=“com.acme”,
版本:=“1.0.0”,
scalaVersion:=“2.11.12”,
程序集中的测试:={}
)
//着色罐的灵感来自:
// https://github.com/wsargent/shade-with-sbt-assembly/
lazy val shaded=(文件中的项目(“shaded/libs”))
.设置(commonSettings)
.设置(
名称:=“我的着色库”,
libraryDependencies++=Seq(
“org.json4s”%%“json4s原生”%%“3.7.0-M2”
)
)
.设置(
assembly~={{{.copy(includeScala=false)}中的assemblyOption,
汇编中的assemblyJarName:=s“我的着色库-${version.value}.jar”,
程序集中的assemblyShadeRules:=Seq(
重命名(“org.json4s.*”->“acme.shade@0”).inAll
)
)
lazy val root=(文件中的项目(“.”)
.设置(commonSettings)
.设置(
名称:=“shadejson4s”,
程序集中的mainClass:=Some(“com.acme.test.Main”),
Compile++=Seq中的unmanagedJars(
shaded.base/“target”/s“scala-${scalaBinaryVersion.value}”/s“我的着色库-${version.value}.jar”
),
更新:=(更新依赖项(着色/装配))。值
)
包含着色类的JAR已成功组装,但当我尝试编译源代码时,出现以下错误:

[info] Compiling 1 Scala source to /private/tmp/shade-json4s/target/scala-2.11/classes ...
[error] /private/tmp/shade-json4s/src/main/scala/com/acme/shadejson4s/Main.scala:3:8: Symbol 'term org.json4s' is missing from the classpath.
[error] This symbol is required by ' <none>'.
[error] Make sure that term json4s is in your classpath and check for conflicting dependencies with `-Ylog-classpath`.
[error] A full rebuild may help if 'package.class' was compiled against an incompatible version of org.
[error] import acme.shade.org.json4s.native.Json
[error]        ^
[error] one error found
[error] (Compile / compileIncremental) Compilation failed
[error] Total time: 2 s, completed Feb 11, 2020 2:51:01 PM
[info]将1个Scala源代码编译为/private/tmp/shade-json4s/target/Scala-2.11/classes。。。
[错误]/private/tmp/shade-json4s/src/main/scala/com/acme/shadejson4s/main.scala:3:8:类路径中缺少符号“term org.json4s”。
[错误]此符号是“”所必需的。
[错误]确保术语json4s在您的类路径中,并检查是否存在与“-Ylog类路径”冲突的依赖项。
[错误]如果“package.class”是针对不兼容的org版本编译的,则完整重建可能会有所帮助。
[错误]导入acme.shade.org.json4s.native.Json
[错误]^
[错误]发现一个错误
[错误](编译/编译增量)编译失败
[错误]总时间:2秒,已完成2020年2月11日下午2:51:01

我在这里遗漏了什么?

据我所知,Scala lib无法着色:

据我所知,Scala lib无法着色(由于酸洗)哦,伙计:(@cchantep你有一些文档或资源我可以读一下,以便更好地理解这件酸洗的事情吗?注意:Json4s是!