问题标签 [java-15]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java 15 - getter 具有不同返回类型的记录
是否可以在 java 15 中实现类似的东西?
在这里我得到了例外
(return type of accessor method maybeProp() must match the type of record component maybeProp)
所以 - 我明白问题是什么;但是还有其他解决方案吗?如何在记录中有可选成员,我不需要使用初始化Optional.of()
?
spring-boot - 如何在spring boot gradle项目中将时间戳附加到jar?
如何在spring boot Gradle项目中为jar附加时间戳?
创建 jar app-0.0.1-SNAPSHOT.jar
,如何创建带有时间戳的 jar
-------- 摇篮
java - 在 Eclipse 中使用泛型密封接口
以下是合法的(即我可以编译它)并在启用预览功能的 Java 15 中工作(在 eclipse 2020-09 中)
Quantity.java
但是,日食在抱怨... permits QuantityImpl
。当悬停在QuantityImpl
一个可以阅读:
即使它编译,这是一个有效的投诉还是 eclipse 中的错误?
spring - 启动层初始化时出错 java.lang.module.FindException: Module jdk.management.agent not found
我正在使用 Eclipse > New > Spring-Starter 项目设置我的第一个 Spring Boot 应用程序项目文件正在出现和编译。我什至可以使用控制台输出 RunAs > Java 项目。在选择 RunAs > Spring Boot时,我在控制台中收到上述错误:
- 我的 Java 版本是 Java15,我还在 About Eclispse > Installation Details > Configuration 中验证了 Eclipse 正在使用相同的路径,它显示
-vm C:\Program Files\Java\jdk-15.0.1\bin\server\jvm.dll
- 运行在命令行输出中显示的列表中
java --list-modules
显示management.agent模块:
安装的 Maven 版本是 3.3.6
我不确定我错过了什么。有任何想法吗?
java - 如何在 Red Hat JBoss Developer Studio 中启用 JDK 15?
我正在使用 Red Hat JBoss Developer Studio 10.4.0.GA(也使用 CodeReady 12.17.0.GA 进行了测试),并且想升级到 JDK 15。
但即使安装了新版本,也无法将其设置为默认 JRE。
我尝试了一些 JDK 15(#1和#2)的 eclipse 指令,但没有成功使用 JBoss。
有人有小费吗?
谢谢
解决方案:使用Eclipse 2020-09 (4.17)
java - 在 Eclipse 中使用本地记录的规范构造函数(预览功能)导致验证错误
我正在尝试在 Eclipse 中使用带有规范构造函数的记录预览功能。
但是,在运行时会导致验证错误。
线程“main”java.lang.VerifyError 中的异常:构造函数必须在返回之前调用 super() 或 this() 异常详细信息:位置:Example$1Range.(II)V @36:返回原因:字节码中存在错误字节码: 0000000:1b1c a400 22bb 000b 5912 0d05 bd00 0f59 0000010:031b b800 1153 5904 1cb8 0011 53b8 0017 0000020:b700 1dbf b1 堆栈图表:same_frame(@36)
在 Example.main(Example.java:10)
这发生在带有 JDK 14 的 eclipse 2020-06 和带有 JDK 15.0.1 和 eclipse 15 支持的 eclipse 2020-19 中。
使用 bin\java 从命令行运行它没有问题,然后不会引发错误。
这对他们日食的其他人有用吗?有什么解决方法吗?
java - Spring Boot 2.4.0 - 使用 BasicAuthenticationFilter 设置 SecurityContextHolder 会引发 IllegalStateException
目前正在执行从 Spring Boot v2.3.5 到 v2.4.0 的升级。但是,当用户通过身份验证并实际通过FilterChain时,我遇到了设置SecurityContextHolder的问题。
有问题的代码是扩展BasicAuthenticationFilter的类的一部分,如下所示:
如果不设置SecurityContextHolder,代码就可以正常工作,但不幸的是,不会设置身份验证,这不是我想要的结果,因为我想保护某些端点。
扩展WebSecurityConfigurerAdapter的类设置如下:
在通过链时设置 SecurityContextHolder 时发生的异常本身如下:
java.lang.IllegalStateException:没有找到接口 org.springframework.security.core.Authentication 的主要或单个公共构造函数 - 也没有找到默认构造函数
java - Maven 使用编译器选项 --add-exports 编译
所以我终于切换到 Java 15,发现我的旧代码不再编译了。我使用包sun.jvmstat.monitor
和类中的类LocalVmManager
来检索系统中运行的所有 JVM 的 pid:这适用于 Java8,但不适用于 Java15(我认为它自 Java9 以来就不起作用)。
感谢 IntelliJ,我发现我需要将以下选项传递给javac
:--add-exports jdk.internal.jvmstat/sun.jvmstat.perfdata.monitor.protocol.local=ALL-UNNAMED --add-exports jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED --add-exports jdk.internal.jvmstat/sun.jvmstat.monitor.event=ALL-UNNAMED
事实上,有了这个选项,我可以通过命令行进行编译。但我也想通过mvn compile
. 如何在 pom.xml 中指定编译器选项?
我尝试了以下没有运气:
同时,我将更改我的代码并通过扫描/proc/
目录来读取正在运行的 JVM 的 pid。
java - 如何在 jdk15 之上运行的 felix (v603) 内的 OSGi 组件中创建 InitialDirContext
我正在将我的 jdk8 代码升级到 jdk15 并且大多数依赖项和配置设置都可以正常工作,但是我正在努力创建一个新的 InitialDirContext
.
我的组件正在发送邮件并设置 InitialDirContext
获取 MX 记录。当作为主运行时,代码运行得很好,即属性 java.naming.factory.initial
设置为 的创建com.sun.jndi.dns.DnsContextFactory
工作得很好。
但是,当我在 Felix 中运行这种类型的代码时,我遇到了异常:
我可以看到jdk.naming.dns
模块实际上并没有导出包com.sun.jndi.dns
,但是代码怎么可能在主类中工作?我是否需要将其他设置添加到我的 Felix config.properties 文件中?