相关疑难解决方法(0)

SBT:从Jar中排除课程

我正在将一个遗留jar项目转换为SBT,并且由于奇怪的原因而不易解决,这个项目里面有" javax/servlet/Servlet.class ".所以我需要以某种方式从package-bin生成的jar文件中排除这个类.我该如何做到这一点?我希望排除使用通配符(即javax.*).

该SBT组件插件看起来像它的功能,将做到这一点,但我担心的是依靠SBT装配意味着我的JAR项目将无法在船型多模块项目(即工作,如果我把它作为一个战争文件的依赖然后需要告诉war项目在依赖的jar项目而不是package-bin上运行程序集 - 但我可能在这里弄错了).

scala sbt

14
推荐指数
1
解决办法
5541
查看次数

编译后SBT在项目中运行代码

我们需要在编译步骤之后运行一些代码。在编译步骤之后让事情发生似乎很容易:

compile in Compile <<= (compile in Compile) map{x=>
    // post-compile work
    doFoo()
    x
}
Run Code Online (Sandbox Code Playgroud)

但是你如何在新编译的代码中运行一些东西呢?

关于场景的更多信息:我们在提升项目中使用较少的 css。我们希望提升在运行中(如果需要)将较少的编译成 css 以帮助开发人员,但在构建期间、测试等运行之前使用相同的代码生成较少的代码。less-sbt 可能会有所帮助,但我们对如何解决这个问题很感兴趣。

sbt

5
推荐指数
1
解决办法
2179
查看次数

Sbt 插件在其他任务之前/之后运行任务

我知道,我看到在标准任务之前/之后自动运行自定义任务,但它似乎已经过时了。我还发现了一个任务的前/后挂钩的 SBT,但它没有任何代码示例。

我在SBT 0.13.17

所以我想运行我的任务MyBeforeTaskMyAfterTask以后的其他任务自动说Compile

因此,当您这样做时,sbt compile我希望看到:

...log...
This is my before test text
...compile log...
This is my after test text
Run Code Online (Sandbox Code Playgroud)

所以我需要:

object MyPlugin extends AutoPlugin {
  object autoImport {
     val MyBeforeTask = taskKey[Unit]("desc...")
     val MyAfterTask = taskKey[Unit]("desc...")
  }

  import autoImport._

  override def projectSettings: Seq[Def.Setting[_]] = {
     MyBeforeTask := {
       println("This is my before test text")
     },
     MyAfterTask := {
       println("This is my after test …
Run Code Online (Sandbox Code Playgroud)

scala sbt

0
推荐指数
1
解决办法
957
查看次数

标签 统计

sbt ×3

scala ×2