小编egi*_*ben的帖子

Javaslang对象分解无法正常工作

我使用Javaslang-2.1.0-alpha和它的Javaslang-match相当于进行一些对象分解.根据丹尼尔在"匹配奇特的方式"部分的博客文章:

Match(person).of( Case(Person("Carl", Address($(), $())), (street, number) -> ...) )
Run Code Online (Sandbox Code Playgroud)

如果检索匹配两个通配符模式中值Addressstreetnumber,但例子甚至不编译.我后来意识到所有物体都必须包裹在原子模式中,即"卡尔"变成$("卡尔").这是在阅读了这个问题之后.

我按照更新的教程,但没有更新此示例.

我将示例更新为:

Person person = new Person("Carl", new Address("Milkyway", 42));

 String result2 = Match(person).of(
 Case(Person($("Carl"), Address($(),$())),
         (street, number) -> "Carl lives in " + street + " " + number),
 Case($(), () -> "not found")
 );
 System.out.println(result2);
Run Code Online (Sandbox Code Playgroud)

从控制台输出判断,它编译但我的值没有正确匹配:

Carl lives in Carl Address [street=Milkyway, number=42]
Run Code Online (Sandbox Code Playgroud)

很明显,street包含卡尔number整个Address物体.

当我尝试添加第三个lambda参数来捕获Carl时: …

java lambda java-8 vavr

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

gpg:签名失败:密钥不可用

我在 maven 上托管了一个工件。我在本地 Windows 机器上的设置一直运行良好;maven, gpg keys命名。到目前为止,我可以做到,'mvn clean deploy'并且我的工件非常成功地签名和发布。

进入与托管在 ubuntu 服务器上的 jenkins 的持续集成。我通过 putty 在 ubuntu 上成功安装了 gpg。由于我已经在 maven 上使用了我的 gpg 密钥签名的工件版本,我应该继续使用它们,对吗?

因此,我使用 winscp 将 gnupg 文件夹及其所有内容传输到 ubuntu。确实,我运行的时候gpg --list-keys可以看到我的密钥信息(我只配置了一个密钥)。我在想,这是我在 ubuntu 上配置成功的标志。

根据对这个问题的回答 我应该认为在 ubuntu 上没有配置密钥。那为什么会gpg --list-keys起作用??

当 jenkins 尝试部署工件时," sign" 目标失败并maven-gpg-plugin报告:

gpg: no default secret key: secret key not available
gpg: signing failed: secret key not available
Run Code Online (Sandbox Code Playgroud)

并且构建失败,我该如何解决这个问题?

java ubuntu gnupg maven jenkins

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

标签 统计

java ×2

gnupg ×1

java-8 ×1

jenkins ×1

lambda ×1

maven ×1

ubuntu ×1

vavr ×1