标签: java-11

如何将多行字符串制作成单行字符串?

我有下面的字符串

String str="select * from m_menus;

select * from m_roles";
Run Code Online (Sandbox Code Playgroud)

我希望上面的字符串在一行中像

String str="select * from m_menus;select * from m_roles";
Run Code Online (Sandbox Code Playgroud)

我试过了

str1=str.replace("[\r\n]+", " "); 
Run Code Online (Sandbox Code Playgroud)

并且

str1=str.replace("\n"," "); 
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.

java java-11

10
推荐指数
3
解决办法
3万
查看次数

NoClassDefFoundError:由于缺少依赖关系javax/xml/bind/Unmarshaller,无法加载类groovy.xml.jaxb.JaxbGroovyMethods

我们的摇篮构建必须 --add-modules=java.xml.bind,java.activation,java.xml.ws.annotationoptions.compilerArgsJavaCompile建立与JDK9/10.这现在很好用,但这些模块已被弃用.

我想为可能删除这些模块的 JDK11做准备.

我曾尝试加入javax.xml.bind:jaxb-api:2.3.0,com.sun.xml.bind:jaxb-impl:2.3.0com.sun.xml.bind:jaxb-core:2.3.0compileruntime,以及classpathbuildscript,但我仍然得到NoClassDefFoundError.

我错过了什么?

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':my-client:compileGroovy'.
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:103)
        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:73)
        at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ResolveBuildCacheKeyExecuter.execute(ResolveBuildCacheKeyExecuter.java:66)
        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
        at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
        at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
        at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
        at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:256)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97)
        at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
        at …
Run Code Online (Sandbox Code Playgroud)

java groovy gradle java-9 java-11

10
推荐指数
1
解决办法
2952
查看次数

无法在IntelliJ中使用jdk 11编译,找不到符号

我设置了JDK 11,它编译直到我使用isBlank()String 的Java 11的新方法,当我使用该方法编译时出现此错误,我尝试清理JDK安装,从IntelliJ清除缓存,重建但没有任何帮助.错误是:

在此输入图像描述

java intellij-idea java-11

10
推荐指数
4
解决办法
6940
查看次数

使用gradle迁移到Java 11; UnsupportedOperationException异常

尝试从jdk 10切换到11并且无法确定哪个库调用此异常:

Caused by: org.gradle.api.GradleException: failed to read class file ../../SomeTestFile.class
...
...
Caused by: java.lang.UnsupportedOperationException
        at org.objectweb.asm.ClassVisitor.visitNestMemberExperimental(ClassVisitor.java:248)
        at org.objectweb.asm.ClassReader.accept(ClassReader.java:651)
        at org.objectweb.asm.ClassReader.accept(ClassReader.java:391)
        at org.gradle.api.internal.tasks.testing.detection.AbstractTestFrameworkDetector.classVisitor(AbstractTestFrameworkDetector.java:124)
Run Code Online (Sandbox Code Playgroud)

我正在使用gradle包装器(v4.10.2),其中包括build.gradle:

buildscript {
    ext {
        springBootVersion = '2.0.5.RELEASE'
        schemaDownloadVersion = '1.6'
        generateAvroVersion = '0.14.2'
    }
    repositories {
        mavenCentral()
        maven { url "https://plugins.gradle.org/m2/" }
        maven { url "http://packages.confluent.io/maven/" }
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath("gradle.plugin.com.amit.plugin.download-registry:registry-schema-download-plugin:${schemaDownloadVersion}")
        classpath("com.commercehub.gradle.plugin:gradle-avro-plugin:${generateAvroVersion}")
    }
}

apply plugin: 'java'
apply plugin: 'jacoco'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'com.amit.plugin.download-registry'
apply plugin: 'com.commercehub.gradle.plugin.avro' …
Run Code Online (Sandbox Code Playgroud)

java gradle java-11

10
推荐指数
3
解决办法
7099
查看次数

如何在Windows上获取OpenJDK 11的tools.jar?

背景:我正在尝试使用此处的说明为Windows构建Hadoop .我有OpenJDK 11并在运行时遇到以下问题mvn package:

Could not resolve dependencies for project org.apache.hadoop:hadoop-annotations:jar:2.5.0-SNAPSHOT: Could not find artifact jdk.tools:jdk.tools:jar:1.6 at specified path C:\Program Files\Java\jdk-11.0.1\..\lib\tools.jar

我意识到tools.jarOpenJDK 11的Windows版本中不存在.我是否也必须从源代码构建它?如何获得tools.jarOpenJDK 11 的Maven文物?

java hadoop maven tools.jar java-11

10
推荐指数
1
解决办法
8362
查看次数

如何使用Open JDK 11+作为自定义运行时执行AWS Lambda?

AWS允许使用(Open JDK 8)作为运行时来创建Lambda函数。我需要使用创建一个简单的函数。像这样:Java 8Open JDK 11

package example;

import com.amazonaws.services.lambda.runtime.Context; 
import com.amazonaws.services.lambda.runtime.LambdaLogger;

public class Hello {
    public String myHandler(int myCount, Context context) {
        LambdaLogger logger = context.getLogger();
        logger.log("received : " + myCount);
        return String.valueOf(myCount);
    }
}
Run Code Online (Sandbox Code Playgroud)

有一个允许使用自定义运行时的选项,以及一个包含Shell示例的教程。但是,没有的示例Java

是否有人已经使用自定义Java运行时处理过AWS Lambda?

java amazon-web-services aws-lambda java-11

10
推荐指数
2
解决办法
4128
查看次数

Jenkins-将JD​​K 11添加到JDK列表

我需要使用Java 11构建应用程序。
但是,下拉菜单在Java 9处停止。

我该怎么办?OpenJDK也可以接受。
我正在使用最新版本的Jenkins。

编辑:到目前为止,我已经使用下载了二进制文件wget,将其提取到计算机上,并JDK_HOME通过Global Configurations 添加了JDK 条目。

java jenkins java-11

10
推荐指数
2
解决办法
4762
查看次数

如何在jdk 9、10和11中使用Java配置DNS服务器

为了进行测试,我们有一个DNS服务器,该服务器将响应虚拟记录。以前,我们可以通过以下方式使java使用我们的DNS服务器(此处仅使用本地主机):

"-Dsun.net.spi.nameservice.nameservers=127.0.0.1",
"-Dsun.net.spi.nameservice.provider.1=dns,sun",
Run Code Online (Sandbox Code Playgroud)

这在jdk11下不再起作用。是否可以指定在jdk11下使用的DNS服务器?如果可以,怎么办?

编辑:我也尝试过:

-Djava.naming.provider.url=dns://127.0.0.1
Run Code Online (Sandbox Code Playgroud)

来自https://github.com/AdoptOpenJDK/openjdk-jdk11/blob/master/src/jdk.naming.dns/share/classes/com/sun/jndi/dns/DnsContextFactory.java,但这也不起作用。

java dns java-9 java-11

10
推荐指数
1
解决办法
837
查看次数

Java 11 - 将 Spring @PostConstruct 替换为 afterPropertiesSet 或使用 initMethod

我正在使用 spring 应用程序,有时用于@PostConstruct代码和测试中的设置

看来注释将被排除在Java 11之外:

请注意,@PostConstruct 和 @PreDestroy 注释都是 Java EE 的一部分。由于 Java EE 已在 Java 9 中弃用并在 Java 11 中删除,我们必须添加额外的依赖项才能使用这些注释

文章建议全部替换@PostConstructafterPropertiesSet方法

我建议您将 @PostConstruct 注释的实现更改为实现 org.springframework.beans.factory.InitializingBean 接口。

我可以在所有情况下盲目更换它吗?还是有其他考虑?

编辑

正如 @JBNizet 所建议的,这可能不是必须或需要的,因为Spring文档建议相反

我们建议您不要使用 InitializingBean接口,因为它不必要地将代码耦合到 Spring。或者,我们建议使用@PostConstruct注释或指定POJO初始化方法。

编辑2

另一种选择是使用initMethod

通过Java配置,可以使用@Bean的initMethod属性

@Bean(initMethod = "init")
public BeanOne beanOne() {
    return new BeanOne();
}
Run Code Online (Sandbox Code Playgroud)

java spring postconstruct spring-bean java-11

10
推荐指数
2
解决办法
2万
查看次数

Java 11 HttpClient不发送基本身份验证

我编写了以下HttpClient代码,但它没有导致将Authorization标头发送到服务器:

public static void main(String[] args) {
    var client = HttpClient.newBuilder()
            .authenticator(new Authenticator() {
                @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                    return new PasswordAuthentication("username", "password".toCharArray());
                }
            })
            .version(HttpClient.Version.HTTP_1_1)
            .build();
    var request = HttpRequest.newBuilder()
            .uri("https://service-that-needs-auth.example/")
            .build();
    client.sendAsync(request, HttpResponse.BodyHandlers.ofString())
            .thenApply(HttpResponse::body)
            .thenAccept(System.out::println)
            .join();
}
Run Code Online (Sandbox Code Playgroud)

我从我正在调用的服务中收到HTTP 401错误.就我而言,它是Atlassian Jira Cloud API.

我已经确认我的getPasswordAuthentication()方法没有被HttpClient调用.

为什么它不起作用,我该怎么做呢?

java http java-http-client java-11

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