如何为容器拥有不同的webapp资源:在SBT中启动和打包任务

我有一个纯JS前端和Scala后端的web应用程序。我想在我的构建管道中使用Grunt将src/main/webapp处理成targetdist/webappdir,其中包含连接/缩小的js和html文件、编译的sass表等。我还想保留原始js和html文件,以便使用container:start task进行本地测试,而包任务将使用Grunt处理的资源构建我的WAR文件。 在SBT中使用以下设置时: webappResources在Compile中,因此您可以使用更好的语法在Compile范围

如何设置sbt,使其在联机时获取所有必要的依赖项,然后让我脱机工作?

我试着在没有互联网连接的区域里完成我的项目。令我惊讶的是,sbt在这种情况下遇到了麻烦。尽管我应该将我的库放在缓存中(考虑到我最初是在线启动项目的),但sbt无法解决某些依赖关系 Sbt无法获取我的本地maven存储库,他也无法找到我认为他已经下载的其他依赖项(即缓存中)。 * 我的问题是:如何确保当我有连接时,sbt 获取缓存中的lib一次,以便在我没有lib时 获取我所有的本地回购,包括maven的回购 我这样问是因为根据我对当前情况的理解(即当没有可用的互联网连接时): sbt无法从mav

Sbt 为什么发布插件项目失败并出现RuntimeException:未指定发布的存储库?

我正在尝试将SBT插件发布到存储库。我不确定这是否有任何相关性,但我们的插件加载了sbt twirl插件-谷歌搜索,似乎publishConfiguration可能被覆盖: new PublishConfiguration(None, "dotM2", arts, Seq(), level) 当我运行发布任务时,工件被部署到repo,但是sbt任务随后失败: sbt (my-sbt-plugin)> publish [info] Loading global plugins from .

Sbt 使用play.Project.playJavaSettings获取错误

我有一个使用PlayFrameworkV2.3的Java项目。build.sbt文件中有以下行: play.Project.playJavaSettings 但是,现在启动activator后,出现以下错误: [info] Loading project definition from /home/username/typesafe/testProj/project /home/username/typesafe/testProj/build.sbt:60: error: object Pro

SBT的默认配置更改

我将SBT集成到现有应用程序中,并能够在启用SBT的情况下运行应用程序。我在测试服务器中部署了它,它工作得很好,但当我转到生产环境时,由于应用程序的上下文路径不同,它会中断 在测试服务器中,我的应用程序url是 生产中 htt…somedomain/service/meth/SampleSbt 我在firebug中遇到了错误 htt…..域/sbt/js/sdk/sbt/ErrorTransport.js->禁止 我尝试更改上下文路径/my-code-path/managed-beans.xm

最小sbt web管道,无需播放

我正在使用spray创建一个单页应用程序,无法让sbt web处理我的任何输入。我从WebJars开始,因为,他说: 关于公共和公共测试文件夹的最后一件事项目依赖的任何WebJar都将自动提取到这些文件夹中,例如target/web/public/lib/jquery/jquery.js 但是,我在目标文件夹中没有看到这样的“web”文件夹。我认为WebJars可能是一个太复杂的示例,所以我改为在asset文件夹的根目录中添加一个jquery.js文件,并设置sbt uglify对其进行一些处理

Sbt 插件的全局设置中的IVypath

我得到: object BlaBlaPlugin extends AutoPlugin { object autoImport { lazy val blabla = settingKey[Unit]("") } import autoImport._ override lazy val globalSettings = Seq( blabla := println(ivyPaths.value.ivyHome.get.getPath) ) } ivypa

Sbt 创建覆盖某些Docker设置的配置,同时保持Docker:publish行为

我正在尝试创建一个SBT构建,它可以将Docker容器发布到DockerHub或我们的内部Docker存储库。我正在使用sbt native packager 1.0.3构建Docker映像 以下是我的build.sbt的摘录: dockerRepository in dockerInternal := Some("thomaso"), packageName in dockerInternal := "externalname", sbt docker:publish现在已成功发布到Dock

用于SBT中Akka测试的稳定类加载器

在交互模式下启动sbt时,运行测试任务一次成功,但第二次失败,出现类加载异常 Akka团队建议我应该用一个稳定的类加载器初始化ActorSystem 使用什么样的类加载器以及如何在测试中检索它?我已通过使用类加载器初始化ActorSystem,从我的测试源文件夹中的类非,使测试正常运行,如下所示: implicit lazy val actorSystem = ActorSystem(actorSystemName, classLoader = Some(classOf[MyClassInM

sbt本机打包程序中的命令行选项

当您使用sbt native packager插件在sbt中打包命令行应用程序时,您会得到一个包装器脚本,该脚本具有类似以下内容的其他命令行选项 -h | -help print this message -v | -verbose this runner is chattier -d | -debug set sbt log level to debug -no-version-check Don't run the java vers

如何在sbt构建中打印/记录val?

如果我们想打印/记录一个简单的变量 lazy val config = ConfigFactory.load() 然后检查它在sbt中的值,那么我们怎么做呢 当我在sbt shell中键入它时,我得到: > config [error] Not a valid command: config [error] Not a valid project ID: config [error] Expected ':' (if selecting a configuration) [err

在sbt多项目中查找主项目根目录

是否可以在多项目sbt文件中引用子项目中的主项目? 我正在编写自定义任务,需要找到两个目录: 来自主项目:baseDirectory 来自子项目:目标 当然,每一个都可以在自己的项目中使用。但我需要用相同的代码访问它们。 我该怎么做 项目布局为: some/dir/build.sbt val masterRoot = baseDirectory.value.getAbsolutePath // this works lazy val root = (project in fi

使用SBT,如何从代码中打包多个war文件?

我希望我的项目能够打包多个war文件,其中我有选择地包括和排除代码和资源。我希望避免将项目拆分为多个项目。资源不是共享的,代码(部分)是共享的。我正在认真考虑使用子模块来实现这一点,这意味着我必须将源代码分开一点,但这确实是一个更优雅的解决方案。

macport安装sbt 0.11.3

我需要sbt 0.11.3为我的项目,然而,端口安装只给我0.11.2。如何使用macport安装sbt 0.11.3 $ sudo port install sbt ---> Installing sbt @0.11.2_0 ---> Activating sbt @0.11.2_0 首先,您可以联系列为端口维护人员的人员。(执行端口信息sbt以找到维护者)。但是,维护人员更新端口可能需要一些时间,或者可能没有指定维护人员(如图所示)nomaintainer@macports

如何使用sbt native packager创建基本项目设置

我有一个与SBT合作的项目设置,可以创建子项目工件 我一直在寻找一种方法来创建一个包含子项目JAR文件以及一些元信息的JAR文件。根据建议,我查看了sbt native packager,它似乎具有我需要的功能 我想知道是否有人愿意通过提供为插件创建框架包规范的技巧来帮助我实现这一目标 我觉得我的配置很简单 我想要的是一个包含以下内容的JAR文件: /manifest.xml module.xml modules/sub-project-one.jar sub-projec

sbt使用pom发布程序集jar

我能够将我的多项目的一个jar构建为一个jar,然后发布它 但是,相关的pom.xml不是随它一起发布的 如何为sbt程序集jar创建和发布pom.xml(和常春藤文件)描述符? 我的项目是。您需要发布现有pom.xml文件的内容,还是可以让sbt为您生成pom的内容?如果后者,考虑使用: pomExtra:=( http://jsuereth.com/scala-arm BSD风格 http://www.opensource.org/licenses/bsd-license.php 回购 gi

在SBT 0.13.x中触发执行

我使用的是SBT 0.13.2,我希望通过执行编译任务来触发我的任务。我知道我可以通过使用triggeredBy方法实现这一点,如taskDefinition.triggeredBy(编译中编译) 我有一个定义了自定义任务的build.sbt 问题是,我无法理解为什么下面的操作会像预期的那样有效 val triggeredTask = taskKey[Unit]("Triggered by compile") triggeredTask <<= Def.task { print

Sbt 如何通过SSL设置插件下载?

我有一个使用插件的SBT项目。当我运行SBT时,插件jar是通过不安全的HTTP而不是HTTPS下载的: 下载 我想改为使用回购协议的https版本(我可以手动浏览),但我不知道如何让SBT使用它 我的项目/plugins.sbt如下所示: addSbtPlugin("com.typesafe.sbt" % "sbt-start-script" % "0.10.0") 我尝试将https版本添加到SBT属性的[repositories]部分,并尝试将其添加到解析器列表中,但SBT始终使用rep

Java 1.8的sbt proguard问题

我正在尝试使用获取更小的标量可执行jar文件。 我添加了project/plugin.sbt这两行代码: addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.13.0") addSbtPlugin("com.typesafe.sbt" % "sbt-proguard" % "0.2.2") 第一个是获取uberjar文件,我可以使用sbt-assembly来获取uberjar,这很好 然后,我执行了sbt-proguard:proguard以获

Sbt Typesafe回购:大部分的包被转移到哪里了?

Typesafe的存储库不再包含几天前包含的所有包。。。我读到他们正在迁移到一个新的CDN,该用户不应该有影响。。。但是大部分的包裹都不在了。他们实际上搬到哪里去了 编辑 根据jsuereth的要求,以下是我正在寻找的软件包: "joda-time" % "joda-time" % "2.6" "org.joda" % "joda-convert" % "1.7" "com.wordnik" %% "swagger-play2" % "1.3.12" "com.wordnik" %% "swag

sbt:在多项目生成中将资源复制到类路径

我有一个sbt项目,其结构如下: project | |-- file.json |-- <serverProject> |-- <clientProject> sbt似乎找到了项目根目录和serverProject目录作为file.json的候选目录,然后失败 如何避免这个错误 谢谢你的阅读和帮助 我解决了我的问题!将以下设置添加到serverProject时,它会按预期工作: unmanagedResources in (Compile) ++= Seq(file(

在sbt组装期间过滤掉不必要的本机依赖项

我们使用sbt汇编将依赖jar合并到单个jar文件中 我们的一个依赖项包含Windows、OSX和Linux的本机非托管依赖项。我们将只在Linux上发布。我们不需要的本机依赖项显著增加了jar的大小。该库仅作为具有所有操作系统依赖项的单个jar提供,而不是作为不同本机二进制文件的单独jar提供 在sbt组装过程中,我有没有办法过滤掉这些 编辑 我不想排除整个罐子。我们所依赖的一个jar文件包含Windows、OSX和Linux的本机二进制文件。我们需要jar文件,我们需要Linux二进制文件。

SBT程序集插件错误

我正试图在我的项目上运行sbt assembly,但出现以下错误: [error] Not a valid command: assembly [error] Not a valid project ID: assembly [error] Expected ':' (if selecting a configuration) [error] Not a valid key: assembly [error] assembly [error] ^ 我的结构如下: MyProje

不使用ivy xml文件发布sbt程序集

我正在ScalaFX中制作一个供私人使用的GUI应用程序,并希望sbt publish使用sbt assembly制作一个fat jar,并将其单独放入一个本地文件夹中与我的朋友共享 我不想要自动附带的额外文件(pom、md5、sha1、source、javadoc、lightweight jar和ivy config)或嵌套目录。通过这个配置,我可以禁用除ivy XX.xml文件之外的所有内容 name := "my-app" version := "2.1" // ...deps and

添加spark mllib时build.sbt中断

我的build.sbt文件中包含以下内容: import AssemblyKeys._ assemblySettings name := "acme-get-flight-delays" version := "0.0.1" scalaVersion := "2.10.5" libraryDependencies ++= Seq( "org.apache.spark" %% "spark-hive" % "1.6.0", "org.scalanlp" %% "breeze" % "

Sbt 如何在任务中执行命令

是否可以在Sbt任务中执行命令?如果是,怎么做?由于命令需要一个状态,我如何才能获得一个状态 我正在尝试覆盖一个默认任务,下面是我尝试过的 dist := { println("Turning coverage off") Command.process("coverageOff") dist.value } Command.process的签名是(字符串,状态)=>\uu 我还不知道从哪里获取状态在获得gitter的帮助后,这是不可能的,但

SBT:在运行时向项目添加依赖项

有sbt项目声明 lazy val myProject = (Project("myProject", file("someRoot")) enablePlugins ... settings (...) 它有一个taskKey,用于提取文件系统的某些依赖项 我的问题是,在加载SBT时,我无法确定所有依赖项,只能在执行private命令Alias之后才能确定 addCommandAlias("resolveDependencies", "; resolveDependencie

当project/build.properties中的sbt.version为1.2.8时,飞行路线sbt不工作

当project/build.properties中的sbt.version为1.2.8时,飞道sbt不工作,但当project/build.properties中的sbt.version为0.13.17时,飞道sbt工作正常 请在下面找到简化项目的github链接以演示该问题 谢谢。这是因为您使用的(旧)flyway sbt插件仅针对sbt 0.13.x构建 查看新的flyway sbt站点: 如果要将flyway与SBT1.x一起使用,请在plugin.sbt中使用addSbtPlugin

Sbt 你在哪里';解析的.xml.xml`文件是否消失?

将build.properties中的sbt.version更改为1.3.x后,我发现运行sbt compile后创建的解析.xml.xml文件不再创建。我正在使用这些文件重新创建项目的结构和依赖关系树。 在新的SBT版本中是否有与这些文件等效的文件? 是的,我熟悉sbt依赖关系图插件,但我希望避免使用外部解决方案。您可以禁用集成coursier以恢复旧的行为: ThisBuild / useCoursier := false

为什么sbt是当前项目名称;“违约”;在0.10?

我正在使用sbt0.10来构建Scala项目,只使用build.sbt文件,而不是完整的配置 每次启动sbt时,它都会给我以下信息: [info] Set current project to default-ee699e (in build file:/Users/.../project/plugins/) [info] Set current project to default-8febe7 (in build file:/Users/.../) 我确实在build.sbt文件中设置了n

Sbt 如何从命令行更改日志级别?

如何在不修改现有配置的情况下在命令行中更改sbt中的日志级别?对于sbt 0.12: 如果要从命令行更改日志级别,可以在sbt交互模式下执行,而无需更改build.sbt文件或任何配置。仅键入: > set logLevel := Level.Debug 但是,如果您正在编写一些将在服务器中运行的脚本,但无法以交互方式执行,则必须创建一个boot.properties文件,设置所需的日志级别,并通过运行 sbt -Dsbt.boot.properties=path-to-your-boo

为什么sbt jsHint没有在“上执行”;sbt jshint“;指挥部?

我正在按字体使用sbt jsHint插件: 遵循文档中提到的步骤,但无法运行“sbt jshint”并在sbt控制台中获得无效命令错误 问题: 1使用sbt运行jsHint的最佳方法是什么 尝试了另一个sbt jslint插件,但对我无效 谢谢, 桑德普

如何更改常春藤sbt使用的版本

我想我在ivy中遇到了一个bug,这可能在ivy的2.4.0-rc1版本中得到了解决 但是,我如何才能看到ivy sbt使用的是什么版本,以及如何将其更改为2.4.0-rc1,以便测试它是否真的解决了我的问题。sbt在中提到的版本中使用ivy:我认为您可以在本地存储库中覆盖它。

SBT子项目不识别插件命令

我在让SBT子项目识别插件提供的命令方面遇到了问题。我有以下插件源代码: object DemoPlugin extends AutoPlugin { override lazy val projectSettings = Seq(commands += demoCommand) lazy val demoCommand = Command.command("demo") { (state: State) => println("Demo Plugin!")

重头戏2.3.8 sbt,不包括回撤

我真的很难从play 2.3.8测试运行中排除logback。我尝试了许多排除规则,但似乎没有任何效果。我在依赖关系树中也找不到它。我的sbt文件中的代码段: [...] resolvers ++= Seq( "Typesafe repository snapshots" at "http://repo.typesafe.com/typesafe/snapshots/", "Typesafe repository releases" at "http://repo.typesafe.co

如何告诉sbt使用调试符号编译?

当SBT调用java编译器时,是否有任何参数可以告诉它添加-g选项?您应该只需要设置javacOptions: javacOptions += "-g" 您只需设置javacopions: javacOptions += "-g" 您只需设置javacopions: javacOptions += "-g" 您只需设置javacopions: javacOptions += "-g"

sbt中是否有一种方法可以只聚合特定任务?

我的构建由根项目、子项目和其他元项目组成。子项目产生一个JAR,而元项目用于其他事情,如打包等 看看我为什么要这样做。现在,假设这是正确的做法,但如果不是,那么请随意评论这个问题 我想做的是汇总我的所有子项目,如下所示: lazy val root = (project in file(".")). aggregate(subProjects: _*) val subProjects = Seq(projectA, projectB) lazy val projectA = projec

在SBT中强制执行Javadoc版本

我刚开始从事一个使用SBT进行构建的大型项目。我安装了一台安装了Java8的新计算机,但团队的其他成员仍然使用Java7。就代码而言,这不是问题,因为我们都准备生成v7字节代码 尝试使用publishLocal操作发布项目时会出现问题。请记住,虽然我对SBT非常陌生,但我所说/假设的某些事情可能并不准确 我们使用sbt 0.13。当我运行命令sbtpublishlocal时,它运行doc操作,然后运行javadoc生成文档。因为我安装了java 1.8,所以它使用了相应版本的javadoc,老实

Sbt 如何从非托管依赖项中排除子依赖项?

我知道在sbt中,您可以这样做,以排除项目使用的某些库的依赖项的特定子依赖项: val kafka = "org.apache.kafka" % "kafka-clients" % "0.9.0.1" excludeAll( ExclusionRule(organization = "com.sun.jdmk"), ExclusionRule(organization = "com.sun.jmx") ) 如何为非托管jar执行此操作

运行SBT而不首先安装它

我想知道SBT是否有类似的功能 我想在CI服务器上使用它,而不必先安装SBT。 文档中提到了sbt启动器,但它似乎是为了运行实际的应用程序而不是构建,是一个bash脚本,您可以将其提交到存储库中,使其像gradle包装器一样工作。该项目以一个名为的独立脚本为中心,该脚本可以直接用于运行sbt,而无需先在机器上运行 该脚本具有为项目确定正确版本的sbt的逻辑,下载正确版本的sbt jar,然后通过sbt运行任务 如果将sbt脚本复制到项目中,您只需从CI服务器、本地或任何地方调用它即可运行sbt任

Sbt 正在等待锁定。ivy2

我正在使用activator克隆项目 我制作了eclipse.sbt来准备导入eclipse的项目。在cmd中键入activator后,我将等待锁定C:\Users\Name\.ivy2\.sbt.ivy.lock可用… 我猜它是因为eclipse.sbt而被锁定的,如果是这样,我如何防止它呢 请检查您的IDE是否正在下载某些内容,特别是当您第一次运行它时,可能需要一段时间 下载完成后,您可以再次运行新命令 另外,请确保您没有运行2个或更多IDE或其他东西,如果这不起作用,请保存您的工作并删除锁

Sbt apachecommons成像;1.0-快照:未找到

如何使SBT构建足够可靠,以便在生产环境中使用 具体地说,SBT通常构建没有问题,但每隔几周,就找不到commons imaging依赖项,从而停止整个构建 In build.sbt: libraryDependencies ++= Seq( , "commons-io" % "commons-io" % "2.4" , "org.apache.commons" % "commons-imaging" % "1.0-SNAPSHOT" withSources () ) resolv

Sbt 从迁移任务依赖项<<;=致:=

在SBT 0.13中 docker <<= docker dependsOn assembly 不起作用,因为无法保证执行顺序。我需要这两个任务以串行方式运行 诀窍是什么?这是一个重复的问题:。请看下面的答案。:)可能是重复的谢谢。关于sbt任务依赖关系的问题太多,早于0.13,您以前的答案无法出现在搜索中。 dockerfile in docker := { val artifact: File = assembly.value val artifactTargetPa

为什么SBT解析快照版本?

以下是我的解决方案: resolvers in ThisBuild ++= Seq( "Sonatype Nexus Repository Manager" at "https://.../repository/maven-snapshots/", "Sonatype Nexus Repository Manager" at "https://.../repository/maven-releases/") 以下是如何指定依赖项: libraryDependencies += a %%

如何根据RPM安装的(系统)库构建sbt?

我感兴趣的是为sbt 0.12.3构建一个满足以下要求的RPM包。为了做到这一点,我需要能够针对从源代码构建并通过RPM包安装的库构建sbt本身 Fedora中使用Ivy的Java软件包能够通过禁用网络解析器并解析/usr/share/Java/[artifact].[ext]中的所有软件包来解析RPM安装的工件--请参阅示例 我想我知道如何使用文件覆盖sbt中的默认解析器,但这就是我遇到的问题:如果我将Ivy目录设置为/usr/share/java,sbt希望能够将工件发布到该目录(而不仅仅是

Sbt 如何从pom中删除projectDependencies?

它类似于: 我想从目标pom中删除项目依赖项,因为我使用fat JAR将其合并 我在makePom:=Nil中尝试了projectDependencies,但任务makePom似乎从root/*:ivyModule获取其依赖项: makePom -> ivyModule -> moduleSettings -> allDependencies -> projectDependencies 您可以覆盖MakePomConfiguration类上的process字段,并提供

  1    2   3   4   5   6  ... 下一页 最后一页 共 13 页