标签: java-11

登录JDK11 HttpClient

JDK11引入了新的HTTP Client,具有许多传统java.net.HttpURLConnection类所缺乏的功能。我遇到的第一个问题是如何在新添加的 HTTP 客户端中正确启用日志记录?

java logging http java-http-client java-11

2
推荐指数
1
解决办法
3801
查看次数

如何在 bitbucket 上设置基于 java 11 的 Spring Boot 管道?

构建失败并显示“无效目标版本:11”消息。

提交到 bitbucket 后,管道作业会自动启动,但失败并显示

Full Error Message:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project sms-commons: Fatal error compiling: invalid target release: 11 -> 
Run Code Online (Sandbox Code Playgroud)

如何启用 java 11 支持?

image: maven:3.3.9

pipelines:
  default:
    - step:
        caches:
          - maven
        script: # Modify the commands below to build your repository.
          - mvn -B verify # -B batch mode makes Maven less verbose
          - mvn clean install
Run Code Online (Sandbox Code Playgroud)

我期望构建成功,但正如我所写,构建作业失败了。

maven spring-boot bitbucket-pipelines java-11

2
推荐指数
1
解决办法
5914
查看次数

Java 8 到 Java 11:包 com.sun.jndi.ldap 不可见

从 Java8 迁移到 Java11 后,我收到错误“包 com.sun.jndi.ldap 不可见”。但我需要这个包用于 LdapCtxFactory 类。包是否被移动或者我应该为我的 Ldap 连接使用另一个类?

此致

java ldap package java-8 java-11

2
推荐指数
1
解决办法
6696
查看次数

用于 Java 11 的 Spark

Spark 2.x 用于 Java 11 时出现以下错误

线程“main”中的异常 java.lang.IllegalArgumentException:不支持的类文件主要版本 55

Spark 3.0 是否与 Java 11 具有这种兼容性?

是否有其他解决方法可以将 Java 11 与 Spark 一起使用?

apache-spark java-11

2
推荐指数
1
解决办法
5002
查看次数

为什么 Path.relativize 在 Java 8 和 Java 11 上表现不同?

为什么该方法relativize上的行为不同?

Path path1 = Paths.get("/a/./b/../image.png");
Path path2 = Paths.get("/a/file.txt");
Path path = path1.relativize(path2);
System.out.println(path);
Run Code Online (Sandbox Code Playgroud)
  • (准确地说是 1.8.0_66)打印../../../../file.txt. 文档
  • (准确地说是 11.0.4)打印../file.txt. 文档

两个版本的 JavaDoc 描述是相同的。我觉得方式对我来说是正确的行为:

  • path1:/a/./b/../image.png归一化到/a/b/../image.png哪个归一化到/a/image.png
  • path2/a/file.txt
  • 的方式浏览来自/a/image.png并且/a/file.txt../file.txt

问题

  1. 如何在来计算应该呢?它不会使路径正常化吗?我不明白如何从 head得到结果。

  2. 为什么这两个版本之间存在根本没有记录的差异?

java path java-8 nio2 java-11

2
推荐指数
1
解决办法
172
查看次数

java 8 中的编译代码与 java 11 中的编译代码

我们目前有在 Java 8 中编译的代码,但我们正在 Java 11 VM 上运行它。现在我们也在尝试将我们的代码移动到 Java 11 编译时。想知道 Java 8 中的编译代码与 Java 11 中的编译代码在性能方面是否有任何好处,因为两个编译器都会生成不同的类文件(字节码)?一个在效率方面与另一个有何不同?

java jvm compilation java-8 java-11

2
推荐指数
1
解决办法
729
查看次数

MapStruct 无法识别 @Mapping 中的字段 - 简单配置

我有两节课。模型:

@Data
public class ExampleModel {
    private String someField;
    private String fieldInModel;
}
Run Code Online (Sandbox Code Playgroud)

和 DTO:

@Data
public class ExampleDto {
    private String someField;
    private String fieldInDto;
}
Run Code Online (Sandbox Code Playgroud)

我想配置简单的映射器(使用不同的字段名称):

@Mapper(componentModel = "spring")
public interface ExampleMapper {

    @Mapping(target = "fieldInModel", source = "fieldInDto")
    ExampleModel mapToExample(ExampleDto exampleDto);
}
Run Code Online (Sandbox Code Playgroud)

我的项目是一个简单的 Spring Initializr,我在其中添加了 Lombok 和 MapStruct 的配置:

...
    <properties>
        <java.version>11</java.version>
        <mapstruct.version>1.4.1.Final</mapstruct.version>
        <lombok.version>1.18.16</lombok.version>
    </properties>

    <dependencies>
        ...
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>${lombok.version}</version>
        </dependency>
        <dependency>
            <groupId>org.mapstruct</groupId>
            <artifactId>mapstruct</artifactId>
            <version>${mapstruct.version}</version>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId> …
Run Code Online (Sandbox Code Playgroud)

java maven lombok mapstruct java-11

2
推荐指数
1
解决办法
1613
查看次数

如何使用 Java 9+ 从 JDK 模块中获取类的文件?

我正在尝试从java.baseas 中读取类InputStream。我已经有一种方法可以读取给定File对象的类文件,但是我无法获取File对象,因为我使用的是 JDK 11 并且不再有rt.jar文件了。按照这个答案之后,我大致有以下代码(我使用的是 Scala,但这本质上是一个关于 Java 的问题,因此是标签):

val fs = FileSystems.newFileSystem(URI.create("jrt:/"), Collections.emptyMap, loader)

Files.list(fs.getPath("/modules")).forEach { mdl =>
  Files.walk(mdl).forEach { (classFile: Path) =>
    val asFile = classFile.toAbsolutePath.toFile //Here's where I get an exception
    //do stuff with that
  }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我使用classFile.toFileor 时classFile.toAbsolutePath.toFile,我得到一个UnsupportedOperationException,我猜这是因为它不是物理文件。但是,我需要一个File对象变成一个InputStream并读取。如何获取File属于 JDK 的某个模块(或每个模块)中每个类文件的对象?

java java-11

2
推荐指数
1
解决办法
52
查看次数

IntelliJ 使用错误的 JDK - 任务 ':compileJava' 执行失败。&gt; 无效的源发布:11

我的项目在命令行上运行,但无法在 IntelliJ 中运行。我已经尝试了以下问题中的所有解决方案:

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

但是我确实注意到 Gradle 正在使用错误的 JDK 编译项目

有谁知道为什么 InteliJ 不使用我定义的 JDK?

在此处输入图片说明

我也尝试覆盖 JAVA_HOME

在此处输入图片说明

java intellij-idea gradle java-11

2
推荐指数
1
解决办法
916
查看次数

何时使用 java.* 和 jdk.* 包

我正在使用 IntelliJ 和 JDK 11。在库包中,我看到两种类型的包命名。java.*jdk.*示出在下面的图像,如:

在此处输入图片说明

jdk.*软件包有sun.*在他们里面包。这对开发人员意味着什么?避免使用jdk.*/sun.*这里写的一般建议是:https : //www.oracle.com/java/technologies/faq-sun-packages.html

java sun java-11

2
推荐指数
1
解决办法
46
查看次数