【发布时间】:2017-01-27 10:59:23
【问题描述】:
我正在尝试使用 SBT 来构建一个依赖于字节码增强的项目。基本上,我需要在compile 之后使用当前范围内的类路径运行一些代码(以便命令可以找到要修改的类),然后确保compile 之后不再运行以撤消增强。
我正在使用 SBT 0.13.12,如果这很重要的话。
【问题讨论】:
我正在尝试使用 SBT 来构建一个依赖于字节码增强的项目。基本上,我需要在compile 之后使用当前范围内的类路径运行一些代码(以便命令可以找到要修改的类),然后确保compile 之后不再运行以撤消增强。
我正在使用 SBT 0.13.12,如果这很重要的话。
【问题讨论】:
我相信你会想要创建一个新的 sbt 任务并让它依赖于编译。然后使用它而不是编译。
lazy val bytecodeEnhancedCompile = taskKey[Unit]("bytecode Enhance")
bytecodeEnhancedCompile <<= bytecodeEnhancedCompile dependsOn (compile in Compile)
bytecodeEnhancedCompile := {
....
}
【讨论】:
:= 运算符出现错误。它说value := is not a member of sbt.Def.Initialize[sbt.Task[Unit]]
test或console会重新运行compile,取消字节码增强。