JDK11引入了新的HTTP Client,具有许多传统java.net.HttpURLConnection类所缺乏的功能。我遇到的第一个问题是如何在新添加的 HTTP 客户端中正确启用日志记录?
构建失败并显示“无效目标版本: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)
我期望构建成功,但正如我所写,构建作业失败了。
从 Java8 迁移到 Java11 后,我收到错误“包 com.sun.jndi.ldap 不可见”。但我需要这个包用于 LdapCtxFactory 类。包是否被移动或者我应该为我的 Ldap 连接使用另一个类?
此致
Spark 2.x 用于 Java 11 时出现以下错误
线程“main”中的异常 java.lang.IllegalArgumentException:不支持的类文件主要版本 55
Spark 3.0 是否与 Java 11 具有这种兼容性?
是否有其他解决方法可以将 Java 11 与 Spark 一起使用?
为什么该方法relativize在java-8和java-11上的行为不同?
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)
两个版本的 JavaDoc 描述是相同的。我觉得java-11方式对我来说是正确的行为:
path1:/a/./b/../image.png归一化到/a/b/../image.png哪个归一化到/a/image.pngpath2: /a/file.txt/a/image.png并且/a/file.txt是../file.txt问题
如何在Java的8来计算应该呢?它不会使路径正常化吗?我不明白如何从 head得到结果。
为什么这两个版本之间存在根本没有记录的差异?
我们目前有在 Java 8 中编译的代码,但我们正在 Java 11 VM 上运行它。现在我们也在尝试将我们的代码移动到 Java 11 编译时。想知道 Java 8 中的编译代码与 Java 11 中的编译代码在性能方面是否有任何好处,因为两个编译器都会生成不同的类文件(字节码)?一个在效率方面与另一个有何不同?
我有两节课。模型:
@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.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 的某个模块(或每个模块)中每个类文件的对象?
我的项目在命令行上运行,但无法在 IntelliJ 中运行。我已经尝试了以下问题中的所有解决方案:
有谁知道为什么 InteliJ 不使用我定义的 JDK?
我正在使用 IntelliJ 和 JDK 11。在库包中,我看到两种类型的包命名。java.*并jdk.*示出在下面的图像,如:
该jdk.*软件包有sun.*在他们里面包。这对开发人员意味着什么?避免使用jdk.*/sun.*这里写的一般建议是:https : //www.oracle.com/java/technologies/faq-sun-packages.html?