小编rei*_*kje的帖子

是否有一种简单的方法可以在SBT中指定全局依赖项排除

您如何在全球范围内排除传递依赖?我的项目取决于许多Twitter库或依赖于Twitter库的库.我不想slf4j-jdk14在我的类路径中,无论如何(我使用logback作为slf4j绑定).

目前我这样做:

"com.twitter" %% "finagle-thriftmux" % "6.16.0" exclude("org.slf4j", "slf4j-jdk14")
Run Code Online (Sandbox Code Playgroud)

但每当有人添加另一个使用的依赖项时,slf4j-jdk14我可能会将其恢复到类路径中.

scala slf4j sbt finagle twitter-finagle

23
推荐指数
3
解决办法
1万
查看次数

如何在使用SBT进行包装时排除资源,但在测试期间不排除

我在项目结构中有一堆conf文件,如下所示:

```

src / main / resources / live.conf
src / test / resources / test.conf
Run Code Online (Sandbox Code Playgroud)

```

我想从运行sbt one-jar(使用one-jar插件)时构建的工件中排除live.conf.我添加了这一行,遗憾的是在运行sbt test:compile时也排除了test.conf

excludeFilter in Runtime in unmanagedResources := "*.conf"

如何在工件jar中排除live.conf而不是测试?

scala sbt

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

如何在/ etc/environment中正确设置JAVA_HOME

我试图在系统范围内添加JAVA_HOME,并将JAVA_HOME/bin添加到PATH(Ubuntu 12.04).如果我在/ etc/environment的末尾添加以下两行,我之后就无法登录了.如果我将2行添加到/ etc/profile,一切正常.那问题呢?

export JAVA_HOME="/usr/lib/jvm/java-7-oracle"
export PATH="$PATH:$JAVA_HOME/bin"
Run Code Online (Sandbox Code Playgroud)

/ etc/environment(第1行)中已经有以下行:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
Run Code Online (Sandbox Code Playgroud)

linux bash ubuntu java-home

11
推荐指数
2
解决办法
2万
查看次数

实现重新加载Typesafe配置的好方法是什么

在使用Typesafe Config的Scala应用程序中,我想添加在运行时重新加载Config的可能性.Config实例是不可变的.这是我到目前为止:

package config

trait Settings {
  private[config] var config: Config = ConfigFactory.empty()
  def engine: EngineSettings
}

trait EngineSettings {
  def weight: Int
  def offset: Int
}

class AppSettings {
  override def engine = new EngineSettings {
    override def weight = config.getInt("engine.weight")
    override def offset = config.getInt("engine.offset")
  }
}

object Settings {
  private val namedSettings = new TrieMap[String, AppSettings]
  def load(configName: String = "local"): Settings = {
    // load config
    // create or update AppSettings
    // add to map and …
Run Code Online (Sandbox Code Playgroud)

java scala concurrentmodification typesafe-config

10
推荐指数
1
解决办法
3842
查看次数

Scala中的类型函数和Currying

在Scala中,假设我有这样的函数:

def foo[R](x: String, y: () => R): R
Run Code Online (Sandbox Code Playgroud)

所以我可以这样做:

val some: Int = foo("bar", { () => 13 })
Run Code Online (Sandbox Code Playgroud)

有没有办法改变这个使用函数currying而不"丢失"第二个参数的类型?

def foo[R](x: String)(y: () => R): R
val bar = foo("bar") <-- this is now of type (() => Nothing)
val some: Int = bar(() => 13) <-- doesn't work
Run Code Online (Sandbox Code Playgroud)

scala

9
推荐指数
2
解决办法
269
查看次数

如何在子项目中引用自定义SBT设置

有点类似于这个问题,如何在子项目中引用自定义设置.

在build.sbt中:

import sbt.Keys._

val finagleVersion = settingKey[String]("Defines the Finagle version")

val defaultSettings = Defaults.coreDefaultSettings ++ Seq(
  finagleVersion in ThisBuild := "6.20.0",
  organization in ThisBuild := "my.package",      
  scalaVersion in ThisBuild := "2.10.4",
  version in ThisBuild := "0.1-SNAPSHOT"
)

lazy val root = project.in(file(".")).aggregate(thrift).settings(
  publishArtifact in (Compile, packageBin) := false,
  publishArtifact in (Compile, packageDoc) := false,
  publishArtifact in (Compile, packageSrc) := false
)

lazy val thrift = project.in(file("thrift"))
Run Code Online (Sandbox Code Playgroud)

在thrift/build.sbt中:

name := "thrift"

// doesn't work
libraryDependencies ++= …
Run Code Online (Sandbox Code Playgroud)

scala sbt

7
推荐指数
1
解决办法
653
查看次数

你能用诗歌来管理 CDK 项目吗?

第一次尝试CDK。虽然可以使用诗歌作为函数依赖项,但我正在寻找一种使用诗歌来管理 CDK 项目本身的方法。

遵循本指南:https://docs.aws.amazon.com/cdk/v2/guide/work-with-cdk-python.html 设置项目的建议包含以下步骤:

cdk init app --language python
source .venv/bin/activate 
python -m pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)

本质上,我希望能够poetry run cdk init app --language python代替,但cdk init需要一个空目录开始。

是否有最佳实践将 cdk 项目完全置于诗歌之下?否则,对项目使用 Typescript,对函数使用 Python 将是我的下一个最佳选择。

python aws-cdk python-poetry

7
推荐指数
1
解决办法
2309
查看次数

在sbt中手动调用sourceGenerators

sourceGenerators in Compile用来生成一些Scala源文件来定位\ scala-2.10\src_managed.当我运行时sbt compile,源代码与src\main\scala下的常规代码一起生成和编译.

但是,如果我想在不编译的情况下单独生成源代码呢?我正在寻找的是这个流程:

  1. 调用任务来生成源代码
  2. 在我的常规源中使用生成的IDE帮助来源
  3. 编译一切

如何实现这一目标?

scala sbt

6
推荐指数
1
解决办法
1351
查看次数

如何在SBT中的项目和构建定义项目之间共享代码

如果我在SBT中的构建定义项目(在/ project/src/main/scala中)中编写了一些源代码.现在我想在我正在构建的项目中使用这些类.有最好的做法吗?目前我已经创建了一个自定义任务,可以复制.scala文件.

scala sbt

6
推荐指数
3
解决办法
1109
查看次数

预测不再适用于 LinkedIn API 202301 中的 /posts

我们正在 LinkedIn Rest API 中按作者获取所有帖子。我们正在使用projection来丰富author名称和徽标等内容。这是查询:

curl "https://api.linkedin.com/rest/posts?author={MY_ORG}&q=author&count=50&projection=(elements(*(*,author~(vanityName,localizedName,logoV2(*,cropped~:playableStreams(*,elements*(identifiers*(identifier))))))))" \
   -H "LinkedIn-Version: 202212" \
   -H "Authorization: .."
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是如果我更改为LinkedIn-Version: 202301我会得到以下响应:

{
  "status": 400,
  "code": "ILLEGAL_ARGUMENT",
  "message": "projection parameter is not allowed for this endpoint"
}
Run Code Online (Sandbox Code Playgroud)

这有记录在任何地方吗?我如何获取作者的详细信息?

linkedin-api

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