小编Nic*_*ico的帖子

CXF codegen maven插件无法使用OpenJDK 11

我一直在使用JDK 9&10和CXF codegen插件3.2.5和3.2.6没有问题,但今天我正在尝试将我的代码库从Oracle JDK 10更新到OpenJDK 11 build 28,但我总是得到同样的错误:

[INFO] Error occurred during initialization of boot layer
[INFO] java.lang.module.FindException: Module java.xml.ws not found
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.747 s
[INFO] Finished at: 2018-10-17T16:38:38+02:00
[INFO] Final Memory: 17M/60M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.cxf:cxf-codegen-plugin:3.2.6:wsdl2java (cerberus-wsdl) on project cerberus: 
[ERROR] Exit code: 1
[ERROR] Command line was: /opt/prod_jdk/bin/java --add-modules java.activation,java.xml.bind,java.xml.ws --add-exports=java.xml.bind/com.sun.xml.internal.bind.v2.runtime=ALL-UNNAMED --add-exports=jdk.xml.dom/org.w3c.dom.html=ALL-UNNAMED --add-exports=java.xml/com.sun.org.apache.xerces.internal.impl.xs=ALL-UNNAMED --add-exports=java.xml.bind/com.sun.xml.internal.bind.marshaller=ALL-UNNAMED --add-opens java.xml.ws/javax.xml.ws.wsaddressing=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens …
Run Code Online (Sandbox Code Playgroud)

java maven cxf-codegen-plugin java-11

9
推荐指数
1
解决办法
7098
查看次数

Haskell在Java 8中的倍增器

我们已经习惯了foldr在Haskell中,你需要(例如,使用Java语法)一个List<T>和你回你想要的任何类型(<T>,List<T>,等).

例如在Haskell中,这个函数接受List<Integer>并返回另一个List<Integer>并用作累加器a List<Integer>(仅作为示例,函数的目标并不重要):

evens :: [Integer] -> [Integer]
evens = foldr (\ x acc -> if mod x 2 == 0 then x : acc else acc) []
Run Code Online (Sandbox Code Playgroud)

现在Java 8已经出来并且具有功能样式的特性,我们想要用我们在这里使用的那种函数编写函数(不仅是一个无复制的等价函数List<T>)foldr:

public static Double entropy (List<Double> probs){
    return -probs.stream().reduce(0.0, (acc, p) -> acc + p * Math.log(p, 2));
}
Run Code Online (Sandbox Code Playgroud)

使用的问题reduce是,当我们采取a时,List<T>我们只能返回a <T>,并且我们想要返回不同的类型甚至是集合.

foldr在Java 8中有什么办法吗?

java reduce haskell fold java-8

8
推荐指数
1
解决办法
3178
查看次数

Springboot + undertow over SSL 100% CPU 使用率

我在几天前制作并投入生产的一个小网络应用程序中遇到了一些问题。当您访问应用程序并与其交互时,几分钟后就会立即崩溃(等待 SSL 握手的时间太长)。我使用 LetsEncrypt 证书。

问题似乎是 Undertow 在尝试使用SSLConduit.java类时阻塞了一些线程,这导致服务器的某些核心处于 100% 使用率。

服务器中的Java版本是:

openjdk version "11.0.2" 2018-10-16
OpenJDK Runtime Environment 18.9 (build 11.0.2+7)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.2+7, mixed mode)
Run Code Online (Sandbox Code Playgroud)

SpringBoot版本是:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.3.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
Run Code Online (Sandbox Code Playgroud)

application.properties 文件:

server.port=9002
server.ssl.key-store=keystore.jks
server.ssl.key-store-password=password
server.ssl.key-password=password
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbc:mysql://localhost:3306/example_db
spring.datasource.username=example_user
spring.datasource.password=password_db
Run Code Online (Sandbox Code Playgroud)

下流版本是:

在此输入图像描述

yourkit 正在告诉我们:

在此输入图像描述

在此输入图像描述 在此输入图像描述

我尝试放置另一个证书,但问题仍然存在。我不想更改为另一个网络服务器(但如果问题仍然存在,我会的)。有可能解决这个问题吗?或者我必须更改应用程序服务器?

编辑:github中的相关PR: https: //github.com/undertow-io/undertow/pull/721和JIRA中的问题:https://issues.jboss.org/browse/UNDERTOW-1493

java ssl spring-boot undertow

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

Kapt 无法与 OpenJDK 16 一起正常工作

我有一个将 Kotlin 1.5.0 和 Kapt 用于映射结构的应用程序。我已将 JDK 更新为 16,但出现以下编译错误:

Failed to execute goal org.jetbrains.kotlin:kotlin-maven-plugin:1.5.0:kapt (kapt) on project X: Compilation failure
java.lang.IllegalAccessError: class org.jetbrains.kotlin.kapt3.base.KaptContext (in unnamed module @0x248e24b) cannot access class com.sun.tools.javac.util.Context (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.util to unnamed module @0x248e24b
    at org.jetbrains.kotlin.kapt3.base.KaptContext.<init>(KaptContext.kt:29)
    at org.jetbrains.kotlin.kapt3.KaptContextForStubGeneration.<init>(KaptContextForStubGeneration.kt:40)
    at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.contextForStubGeneration(Kapt3Extension.kt:285)
    at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:169)
    at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:100)
    at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$invokeExtensionsOnAnalysisComplete(TopDownAnalyzerFacadeForJVM.kt:111)
    at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:121)
    at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:85)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:514)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:505)
    at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:112)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:505)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:189)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:155)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:169)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:52)
    at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:88)
    at …
Run Code Online (Sandbox Code Playgroud)

maven kotlin kapt kotlin-maven-plugin

4
推荐指数
2
解决办法
1509
查看次数