小编Kei*_*ith的帖子

在 Java 代码中将 Java 映射转换为 Scala 不可变映射

我有一个 Java 类,由于各种原因需要留在 Java 中。它正在调用使用 Scala 特征实现的类和需要 Scala 不可变映射的 Scala 实现的方法。是的,如果我有 Java Map 并且我正在 Scala 代码中进行转换,我已经看到了如何使用隐式和显式代码,但是我正在尝试从 Java 代码进行转换并且在 Stack Overflow 上没有看到类似的东西。

我正在使用 Eclipse,并且该项目添加了 Scala 性质。我尝试导入 scala.collection.JavaConverters,Eclipse 只是给我一个错误,说它找不到类,即使我在 Scala 库容器中打开 scala-library 时可以看到该类。我正在使用 Scala 2.11.8

如何在 Java 代码中编写将 Java Map 转换为 Scala Map 的显式代码?

scala

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

使用具有OAuth2客户端凭据的Swagger OpenAPI 3生成API客户端

我正在使用Swagger OpenAPI 3.0.2版本来描述我的API。

我从Swagger gihub存储库构建了swagger-codegen 3.0.5快照。

我想要一个Java客户端,该客户端将为client_credentials的授予类型获取OAUTH2令牌。我想要客户端凭据,因为这是一台与另一台计算机通信的机器,我不是在向用户询问其凭据。我的规格文件中包含以下内容:

securitySchemes: oAuth2ClientCredentials: type: oauth2 description: Standard OAUTH2 flows: clientCredentials: tokenUrl: my_token_url scopes: {} security: - oAuth2ClientCredentials: []

我想要一个带有客户机ID和客户机机密的基本身份验证标头,其中标准的base64编码具有Grant_type作为URL编码形式。这是相当标准的OAuth2身份验证。

我似乎有时会获得OAuth身份验证的代码,有时却不会。除了我手动证明访问令牌之外,python库对OAuth而言一无所有。除非我要求将其改造为基础库,否则Java库没有它,但是它会生成Bearer Authentication标头,而不是Basic Authentication Header。Retrofit2甚至无法正常工作,车把模板中有一个非法字符,车把被倒钩。

那么,人们在拥有客户ID和客户机密的情况下如何获取访问令牌?您是否编写代码以自己获取访问令牌?还是有某种神奇的方法来获取swagger-codegen-cli为我生成代码,具体取决于我使用的库?

如果有人设法通过swagger-codegen-cli生成使用OpenAPI 3.0规范的OAuth 2客户端凭据所需的一切,请告诉我。

openapi swagger-codegen

6
推荐指数
0
解决办法
789
查看次数

无法让 Karaf 4.2.6 使用 log4j2 和 JsonLayout 作为布局类型进行日志记录

我一整天都在做这件事,但在尝试了这么多组合后却没有让它发挥作用。归根结底,我正在寻找从 Karaf 获取 JSON 日志记录的明确步骤列表。我什至浏览了 Maven Karaf 插件源代码,试图解决这个问题,尽管也许我看的还不够远。

我正在使用 Karaf 4.2.6。我正在尝试使用 karaf-maven-plugin 版本 4.2.6 构建 Karaf 部署。

如果我将layout.type各种附加程序更改为JsonLayout,我会得到一个堆栈跟踪,指出它无法加载 JSON 布局,因为我缺少一个类。java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/ser/FilterProvider

我查看了 jar org.ops4j.pax.logging/pax-logging-log4j2/1.10.2,发现我需要 3 个 Jackson jar,Core v2.8.7、Annotations v2.8.0 和 Databind v2.8.7。

etc/startup.properties我一直在尝试以 5 或 8 的启动级别获取这些文件,以便它们org.ops4j.pax.logging/pax-logging-log4j2/1.10.2在启动时做好准备。我确保它们位于system文件夹中的正确位置。大多数时候,如果我确实将它们放入etc/startup.properties,它们的起始级别为 30。我将它们放置在具有正确起始级别的功能中,但它们要么在使用任何内容后就开始很好,startup.properties要么根本没有出现。我尝试了很多可能的组合,,,,startupBundlesstartupFeatures没有bootFeatures任何结果startup.properties。我无法弄清楚内容是如何startup.properties生成的。有时,我想要的应用程序功能甚至无法启动,因为如果我只是将这些 jar 的引用放在 中,则有关配置的某些内容在设置日志记录时被阻止startup.properties,例如

mvn\:com.fasterxml.jackson.core/jackson-core/2.8.7 = 5

下面是我的 pom.xml,其中注释掉了之前尝试的一些内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" …
Run Code Online (Sandbox Code Playgroud)

logging json maven apache-karaf log4j2

2
推荐指数
1
解决办法
1188
查看次数

标签 统计

apache-karaf ×1

json ×1

log4j2 ×1

logging ×1

maven ×1

openapi ×1

scala ×1

swagger-codegen ×1