我正在尝试使用 jacorb 3.9 执行我的 java 11 (openjdk) 应用程序。应用程序开始执行但崩溃抱怨丢失:
javax.rmi.CORBA.Stub
Run Code Online (Sandbox Code Playgroud)
我已经在 CLASSPATH 中包含了所有 jacorb 库
set CLASSPATH = ${JACORB_PATH}/jacorb.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/jacorb-3.9.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/jacorb-omgapi.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/slf4j-api.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/slf4j-jdk14-1.7.14.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/jacorb-services.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/picocontainer.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/wrapper.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/antlr.jar:${CLASSPATH}
set CLASSPATH = ${JACORB_PATH}/idl.jar:${CLASSPATH}
Run Code Online (Sandbox Code Playgroud)
执行时,我得到这个:
java.lang.reflect.InvocationTargetException
...
Caused by: java.lang.ClassNotFoundException: javax.rmi.CORBA.Stub
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:583)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
Run Code Online (Sandbox Code Playgroud)
我还尝试使用以下方法设置 JDK_JAVA_OPTIONS:
--module-path ${JACORB_PATH} --add-modules java.corba
-Dorg.omg.CORBA.ORBClass=org.jacorb.orb.ORB -Dorg.omg.CORBA.ORBSingletonClass=org.jacorb.orb.ORBSingleton
Run Code Online (Sandbox Code Playgroud)
但抱怨“发现两个版本的模块 slf4j.jdk14”
执行程序的命令是:
java -classpath …Run Code Online (Sandbox Code Playgroud) 遇到这个,奇怪的是,我找不到任何关于它的页面。在谷歌上搜索“无法识别 PrintHeapAtGC”没有任何帮助。事实上,它导致线程谈论人们如何在 JVM 11 中毫无问题地使用它。
我已经打印了我每行使用一个的标志,也许是因为某种组合,我什至不知道是组合?
我什至如何检查?
有人可以看看这个并告诉我出了什么问题吗?
-XX:+ExitOnOutOfMemoryError
-XX:NewRatio=3
-XX:SurvivorRatio=4
-XX:TargetSurvivorRatio=90
-XX:MaxTenuringThreshold=8
-XX:+UseParallelGC
-XX:ParallelGCThreads=4
-XX:+CMSScavengeBeforeRemark
-XX:PretenureSizeThreshold=64m
-XX:+UseCMSInitiatingOccupancyOnly
-XX:CMSInitiatingOccupancyFraction=50
-XX:CMSMaxAbortablePrecleanTime=6000
-XX:+CMSParallelRemarkEnabled
-XX:+ParallelRefProcEnabled
-XX:-OmitStackTraceInFastThrow -verbose:gc
-XX:+PrintHeapAtGC
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
-XX:+PrintTenuringDistribution
-XX:+PrintGCApplicationStoppedTime -Xloggc:/tmp/gc.log
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=9
-XX:GCLogFileSize=20M
-XX:+PrintFlagsFinal
-XX:+PrintFlagsWithComments -version
Run Code Online (Sandbox Code Playgroud) 如何使用 gradle 5 从 Java 11 中的 WSDL 生成类?
我正在使用 wsimport seeber 插件,但它看起来在 java 11 中不起作用
dependencies {
classpath "gradle.plugin.me.seeber.gradle:gradle-wsimport-plugin:1.1.1"
}
Run Code Online (Sandbox Code Playgroud)
在 Intelij Idea 我得到:
- 出了什么问题:配置项目“:ReturnRedirectWorker-api”时出现问题。
执行模型规则时抛出异常:WsimportPlugin.PluginRules#createWsdlSourceSets(ModelMap, FileOperations) > create(wsdlMain) > create(wsdl) 无法创建 WsdlSourceSet 类型的 LanguageSourceSet
使用 VM 参数运行 JavaFX 应用程序。程序编译并运行。在 MacOS 上使用 Eclipse。当程序运行时,它会在 Dock 中显示 java 咖啡杯徽标,但没有出现窗口。
我希望能够成功运行这个程序。我相信这是一个 Eclipse 配置问题而不是代码。
让 JavaFX 在 Eclipse for Mac 上运行时遇到了很多问题,主要问题是库不存在且无法导入。我能够通过从这里下载 JavaFX ( https://gluonhq.com/products/javafx/ ),在我的项目中创建一个用户定义的库并使用 VM 参数运行程序来使其工作:--module-path /Library/Java/JavaVirtualMachines/javafx-sdk-11.0.2/lib --add-modules=javafx.controls。现在程序可以编译,但我遇到了上述问题。
这篇文章描述了我遇到的问题:https : //discussions.apple.com/thread/7886329
import javafx.application.*;
import javafx.scene.*;
import javafx.stage.*;
import javafx.scene.layout.*;
import javafx.scene.control.*;
public class SimpleCalculator extends Application
{
private Label firstValue;
private Label secondValue;
private Label sumLabel;
public void start( Stage myStage)
{
myStage.setTitle( "Simple Calculator");
FlowPane rootNode = new FlowPane();
Scene myScene = new Scene( rootNode, 300, …Run Code Online (Sandbox Code Playgroud) 我使用 SpringRestTemplate对另一个服务(NodeJS 服务)进行休息调用。间歇性地出现连接重置错误。相同的代码在 JDK 8 和 Spring boot 2.0.1 上运行良好,在升级到Amazon Corretto JDK 11 和 Spring boot 2.1.5 后,开始看到这个问题。
Caused by: javax.net.ssl.SSLException: Connection reset
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:127)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259)
at java.base/sun.security.ssl.SSLSocketImpl.handleException(SSLSocketImpl.java:1314)
Run Code Online (Sandbox Code Playgroud)
org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:735)
... 143 common frames omitted
Suppressed: java.net.SocketException: Broken pipe (Write failed)
at java.base/java.net.SocketOutputStream.socketWrite0(Native Method)
at java.base/java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:110)
at java.base/java.net.SocketOutputStream.write(SocketOutputStream.java:150)
Run Code Online (Sandbox Code Playgroud)
-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2SocketFactory这些协议设置为RestTemplate.socketTimeout重置客户端。仍然没有运气。
#代码:#
HttpHeaders headers = new HttpHeaders(); …Run Code Online (Sandbox Code Playgroud) 我尝试使用 java 11HttpRequest使用 PATCH 方法调用 msgraph webservice:
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import groovy.json.JsonSlurper;
import groovy.json.JsonOutput;
access_token = "my_token";
def url = 'https://graph.microsoft.com/v1.0/groups/group_id/drive/items/01P4AIIJ5QTIIAZ2FLEZBIZWRV6KEBIMM5/workbook/worksheets/%7B00000000-0001-0000-0000-000000000000%7D/range(address=\'A1\')'
HttpClient httpClient = HttpClient.newBuilder()
.version(HttpClient.Version.HTTP_2)
.build();
jsonPayloadString = '{"values":["blabla"]}';
jsonPayload = HttpRequest.BodyPublishers.ofString(jsonPayloadString.toString())
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(url))
.PATCH(jsonPayload)
.header("Content-Type", "application/json")
.build();
HttpResponse response = httpClient.send(request,HttpResponse.BodyHandlers.ofString());
Run Code Online (Sandbox Code Playgroud)
错误 :
没有方法签名:jdk.internal.net.http.HttpRequestBuilderImpl.PATCH() 适用于参数类型:(jdk.internal.net.http.RequestPublishers$StringPublisher) 值:[jdk.internal.net.http.RequestPublishers$ StringPublisher@280a600b]
通话本身效果很好,例如在 Postman 中。但我不能让它在 groovy/java 中工作。
我以前使用过,HttpUrlConnection但它不支持 PATCH。实际上可以使用HttpRequest吗?
我在网上找不到任何使用 PATCH 方法的工作示例。
我正在尝试使用 ZGC 垃圾收集器运行 Spring Boot 应用程序,并传入以下 JVM 选项build.gradle:
bootRun {
jvmArgs = ["-XX:+UnlockExperimentalVMOptions", "-XX:+UseZGC", "-Xlog:gc*"]
}
Run Code Online (Sandbox Code Playgroud)
运行应用程序 ( gradle bootRun) 时出现以下错误:
> Task :bootRun FAILED
Error occurred during initialization of VM
Option -XX:+UseZGC not supported
Run Code Online (Sandbox Code Playgroud)
java - 版本:
openjdk version "11.0.6" 2020-01-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.6+10, mixed mode)
Run Code Online (Sandbox Code Playgroud)
如果有帮助,我正在运行 10.15.2 (19C57) 版本的 macOS (Catalina)。只是 macOS 的问题吗?
class Scratch {
public void meth1(){
}
public void meth2(){
}
public void meth3(){
}
public void meth4(){
}
public void meth5(){
}
public static void main(String[] args) {
int randomNumber=(int)Math.random()*5;
}
}
Run Code Online (Sandbox Code Playgroud)
这里我有5个方法,我想随机调用它们。我是 OOP 的新手,但对 C 有点了解,在这种情况下,我会将函数(方法)的地址存储在一个数组中,在 [0,4] 之间生成一个随机数并使用数组调用函数随机顺序。但是在Java中,我不知道如何获取方法的内存地址。我该怎么做?
工作设置 -
Spock older version - 1.2-groovy-2.4
jdk version - 8
Maven surefire plugin version - 2.22.0
Maven version - 3.5.0
Run Code Online (Sandbox Code Playgroud)
迁移设置 -
Spock version - 2.0-M2-groovy-2.5
jdk version - 11
Maven surefire plugin version - 3.0.0-M4
Maven version - 3.6.3
Run Code Online (Sandbox Code Playgroud)
MCVE - https://github.com/ajaydivakaran/spock_spike
升级 Spock 的目的是使其与 jdk 11 兼容。测试类文件存在于 target/test-classes 文件夹中,但不会运行。
我正在尝试将我的应用程序从 Java 8 迁移到 Java 11。在我的一个项目类中,我有一行Security.addProvider(new com.sun.crypto.provider.SunJCE());. 我收到此行的编译错误。如何解决这个问题?