指Java 9中引入的Java模块系统定义的模块。因此可能与Java 9(或更高版本)标记耦合。
JPMS 支持多层。例如引导层及其两个子层。 我需要在 UML 图上显示这些层。为此,我选择了组件图,其中每一层都是一个组件...
我试图了解使用 Java 平台模块系统 (JPMS) 构建项目与使用多个 pom 构建项目之间的差异。 主要区别是 J...
如何修复 java.lang.ClassNotFoundException: com.sun.tools.attach.VirtualMachine in java 21
我有一个带有 deps.edn 的 clojure 项目,它使用库 clj-async-profiler 我在项目中的主要功能包含以下代码 - (ns com.myns.cli (:gen 级) (:要求 [clj-异步-pr...
我正在将 java 项目转换为使用模块。我的模块之一依赖于 hamcrest 库,它需要 hamcrest.core 和 hamcrest.library 这两个 jar 文件。这两个jar文件都有org.
gwt-user.jar with Java 11 - javax.xml.parsers 包可从多个模块访问:<unnamed>、java.xml
我正在尝试切换到 GWT 2.10 和 Java 11(使用 Eclipse 容器进行 GWT 并使用 gradle 进行依赖项),但是因为一些 java 包捆绑在 gwt-user.jar 中,所以出现错误: 包裹...
尝试使用以下命令编译我的模块 moduleA 时 javac --模块源路径 src -d out -m moduleA 我收到以下错误 错误:在模块源代码中找不到模块 moduleA...
无法在模块化java项目中使用模块com.azure.identity
我正在尝试在 Gradle 应用程序中使用 Microsoft 的 azure-identity 模块。 但是 .\gradlew 运行失败并显示以下堆栈跟踪: > 任务:运行 java.lang.module.FindException:模块 msal4j.persistence。
如何使用--module-source-path编译Java模块?
我正在尝试编译一个 Java 模块,该模块位于与我的项目源根目录不同的目录中。这是我的项目结构: 基础测试 1: │ .gitignore │ 基础测试-1.iml │...
Java:需要读取jackson.databind模块,但它不存在
我在java模块com.example.mymodule中有一个类MyClass,它需要使用com.fasterxml.jackson.databind.ObjectMapper。 当尝试运行该应用程序时,我收到以下错误: java.lang.
在 jGRASP 中,我用 Java 编写(大部分是基本的)工作。本质上,我偶然将几个文件的语言更改为“Java MD”,它对手头的任务没有任何作用。我有一个期望...
如何在 Eclipse 中运行具有 Gradle 依赖项的 JavaFX 应用程序?
如果我尝试在 Eclipse 中运行具有经典类路径的 JavaFX 应用程序,则会收到以下警告: 警告:不支持的 JavaFX 配置:类是从“未命名模块@7b58231a”加载的 我...
JavaFX 未运行错误模块 javafx.controls 未找到
按照 IDE 中的 Non-Moduler 下的程序并运行程序后,我收到错误 - boot层初始化时出错 java.lang.module.FindException:模块
对我的项目(带模块的 Java 17)进行一些依赖项更新后,我在编译过程中收到以下错误消息: [信息] --- 编译器:3.13.0:testCompile (default-testCompile) @ energy-...
我是 Java 9 的新手,正在观看 YouTube 上 Java 的模块化视频讲座。 他们提到了模块化的 3 个好处 - 没有缺少依赖项 无循环依赖 没有分包...
我参考了lombok.在jdk21中打开jdk.compile的方法,在注解处理器的初始化阶段打开jdk.complie 私有静态无效 addOpensForLombok() { C...
无法访问类 com.sun.tools.javac.api.JavacTrees(在 jdk.compiler 模块中)
我使用java21定制了一个注释处理程序。注释处理器所在项目的pom文件如下所示: 我使用 java21 定制了一个注释处理程序。注释处理器所在项目的pom文件如下所示: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.example</groupId> <artifactId>xxx-xx</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>xxx-xx-xx</artifactId> <packaging>jar</packaging> <name>async-log-client</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>21</java.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>com.google.auto.service</groupId> <artifactId>auto-service</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>21</source> <target>21</target> <encoding>UTF-8</encoding> <compilerArgs> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg> </compilerArgs> </configuration> </plugin> </plugins> </build> </project> 我使用 mvn clean install 命令打包到本地存储库。当我将其用作其他项目的依赖项时,出现以下错误 class org.example.MyCustomProcessor (in unnamed module @0x3b48e183) cannot access class com.sun.tools.javac.api.JavacTrees (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.api to unnamed module @0x3b48e183 我尝试在使用该自定义注释处理器的项目中导入 jdk 模块。 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>21</source> <target>21</target> <encoding>UTF-8</encoding> <compilerArgs> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg> <arg>--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg> </compilerArgs> </configuration> </plugin> </plugins> </build> 但是好像还是不行。我的目标是构建一个类似 lombok 的注释处理器项目。其他项目可以直接依赖它来运行注释处理器 根据您提供的github上的项目,解决方案如下: pom.xml 将 google.auto.service.version 从 1.0 修改为 1.0-rc1 <properties> ... <google.auto.service.version>1.0-rc1</google.auto.service.version> ... </properties> AsyncLogProcessor.java async-log-main/async-log-client/src/main/java/org/example/async/log/client/annotation/AsyncLogProcessor.java 3号线 import com.google.auto.service.AutoService; 打开 auto-service-1.0.jar 并查找 /com/google/auto/service/。 AutoService.class 不存在。 打开 auto-service-1.0-rc1.jar 并查找 /com/google/auto/service/。 AutoService.class 存在。 只有1.0-rc1版本可以支持您的代码(导入com.google.auto.service.AutoService)
为什么在使用自定义类加载器时出现 java.lang.NoClassDefFoundError: java/sql/Driver?
这适用于 Java 8: 公开课测试{ 公共静态无效主(字符串[] args)抛出异常{ URLClassLoader 加载器 = new URLClassLoader(new URL[0], null); System.out.println("&
在我的 Java 21 项目中,我尝试使用 jjwt-api 库中的 io.jsonwebtoken.Jwts 包。 此依赖项在 MANIFEST 内没有 module-info.java 和自动模块名称条目....
如何将带有拆分包的非模块化 JAR 添加到 Intellij idea 中的模块化 JavaFX 项目中?
我的项目使用 Mapsforge 库来显示地图,并使用 JavaFX 来显示 GUI。 有一种方法可以使用 javafx-maven-plugin 编译 JavaFX 并保持非模块化范例,但它似乎与最好的方法相反
对于刚刚将应用程序移植到较新的 Java 的应用程序,是否有 --add-opens 命令行参数的替代方案?
对于刚刚将应用程序移植到较新的 Java 的应用程序,是否有 --add-opens 命令行参数的替代方案? 为了使我们古老的单体应用程序能够在 Java 11 和 Java 17 上运行,我必须...