小编igr*_*igr的帖子

在 Java10 中使用什么来代替`defineClass`?

我使用方法defineClass()ClassLoader字节数组中定义一个类。我使用反射获取此方法:

ClassLoader.class.getDeclaredMethod(
    "defineClass", String.class, byte[].class, int.class, int.class);
Run Code Online (Sandbox Code Playgroud)

Java10 抱怨defineClass.

我应该用什么代替?

java reflection java-10

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

git分公司经理ui?

有没有用于管理git分支,隐藏提交的git UI?所有当前可用的git客户端都显示大型日志报告,所有提交都在分支机构中,因此我可能会失去一个不在屏幕上的分支的焦点,因为最近发生了许多提交.

我希望能够"最小化"或"崩溃"所有提交为单点(更大的点 - 更多提交被折叠)或线(更粗的线 - 更多提交)并且仅可视化可以被操纵的分支.所以,再次,它就像SmartGit日志视图,但是对于分支的折叠提交,所以我可以快速看到git分支树.

git

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

将本地Docker映像(DockerFIle)部署为本地Kubernetes容器

我使用Vagrant在本地机器上启动Kubernetes master和minion。我可以为kubernete pod创建一个json文件,在其中可以启动几个公共容器。

但是,一个Docker容器是本地容器,ontop on java:8-jdk,使用DockerFile配置。

如何在kubernetes json容器中引用此本地Docker容器,以便kubernets可以运行它?

换句话说,Kubernetes是否支持docker build;)

docker kubernetes

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

打破CompletableFuture的流程

我有一些使用的异步运行流程CompletableFuture,例如:

foo(...)
        .thenAccept(aaa -> {
            if (aaa == null) {
                 break!
            }
            else {
              ...
            }
        })
        .thenApply(aaa -> {
           ...
        })
        .thenApply(...
Run Code Online (Sandbox Code Playgroud)

因此,如果我的foo()返回null(将来)我需要很快打破,否则,流程继续.

现在我必须null在每个未来的街区检查所有方式; 但那很难看.

这有可能CompletableFuture吗?

编辑

有了CompletableFuture你可以定义你的异步任务,被执行的一个接一个的流动.例如,您可以说:

做A,当A完成时,做B,然后做C ......

我的问题是打破这种流动并说:

做A,但如果结果为null break; 否则做B,然后做C ......

这就是我所说的"打破流动".

java future java-8 completable-future

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

从命令行运行 IntelliJ 代码格式化程序

我正在尝试从命令行运行 IntelliJ 代码格式化程序。

我知道可以从 CLI 运行检查,但是,他们没有提供相同的源格式(蹩脚!)。

现在,我开始使用 IntelliJ 的 CE 版本。源代码在github上。

然而,由于代码库并不小,我在封装格式化程序时遇到了问题。

有没有人可以为我指出正确的方向并展示从哪些课程开始?

intellij-idea

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

在 Gradle 中使用复合构建进行构建时跳过测试

我有 5 个相互依赖的项目。因此,我创建了新的“虚拟”项目,它是这 5 个项目的复合构建,并具有以下任务:

task build {
    dependsOn gradle.includedBuilds*.task(':build')
}
Run Code Online (Sandbox Code Playgroud)

我可以使用以下命令运行复合中所有项目的构建gradlew build:或者如何以其他方式实现这一点?

我现在如何通过跳过-x test复合构建的测试执行?

gradle

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

Gradle 自定义工件提供程序存储库,即自定义依赖项解析器

GradleArtifactRepository实现所做的所有事情都是提供用于获取工件的源。例如,它可以是 plain 结构、maven repo 等。我知道我可以使用一些自定义源构建自己的存储库实现。

但是,我需要一些不同的东西:“挂钩”工件解析和获取内部。例如,当 Gradle 检查是否在我的foo:bar:1.0存储库实现内部时,我希望能够捕获此请求并从我想要的任何地方返回工件。(显然,它不是静态位置,否则现有存储库实现之一就足够了)。

换句话说,当 gradle 要求时,foo:bar:1.0我想控制工件 jar 的返回 - 拥有一个自定义的依赖关系解析器。

有一个老问题:https ://issues.gradle.org/browse/GRADLE-1805要求这样做。

Gradle 可以做到这一点吗?

artifact gradle

5
推荐指数
0
解决办法
250
查看次数

如何在jdk8和jdk9上使用不安全的java8代码?

sun.misc.Unsafe在我的Java8代码库中使用.这不适用于Java9.

我想修复Java9,但使用与Java8相同的代码库.如果我放module-info.java,它将无法工作,因为我的代码库是Java8.

该怎么办?

java unsafe java-8 java-9 module-info

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

JaCoCo 和 MR 罐子

JaCoCo 和MultiRelease JAR 文件存在问题。由于两个地方存在相同的类名,JaCoCo 抱怨道:

Caused by: java.lang.IllegalStateException: Can't add different class with same name: jodd/core/JavaBridge
        at org.jacoco.core.analysis.CoverageBuilder.visitCoverage(CoverageBuilder.java:107)
        at org.jacoco.core.analysis.Analyzer$1.visitEnd(Analyzer.java:96)
Run Code Online (Sandbox Code Playgroud)

我们如何告诉 JaCoCo(在 Gradle 中)跳过 META-INF 路径中的类?或者根据 JVM 版本表现得像它应该的那样(使用正确的类并忽略其他版本)?

java java-platform-module-system jacoco java-9

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

SpringBoot中模拟多个bean

我在 SpringBoot 中有一个测试,应该以非常相同的方式检查多个 bean:

@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class EndpointsTest implements ApplicationContextAware {

    @MockBean
    ComponentA componentA;
    @MockBean
    ComponentB componentB;

...
Run Code Online (Sandbox Code Playgroud)

由于我不想为每个组件编写新的虚拟测试,因此我想获取所有 bean(因此使用ApplicationContextAware),然后对每个此类 bean 运行测试。

当然,这些豆子必须被嘲笑。

有没有办法像MockBean注释一样手动模拟 bean 并将其替换为 Spring 上下文?我还想删除所有组件的显式声明(数量不小),只是为了模拟的目的。

编辑:我想避免手动编写测试类中的所有组件。组件 bean 是按照约定命名的,因此我想获取所有它们,应用模拟并运行测试。我们有 100 多个组件。

java testing spring mockito spring-boot

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