问题标签 [module-info]

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.

0 投票
1 回答
649 浏览

java - 除非使用相同的命令编译包类,否则不会编译模块信息

我有一个名为myModule. 在其中,还有另一个名为myPackagemy的文件夹Main.class

旁边myPackage有我module-info.java要编译的。首先看一下文件夹层次结构:

问题是当我想module-info.java用以下命令编译我的:

我收到以下错误:

但是,当我将 Main.java 放在 myPackage 中,然后使用相同的命令编译这两个文件时:

错误消失。我不明白为什么会发生这种情况?

0 投票
0 回答
124 浏览

java - 如何从非模块化依赖项的 GAV 坐标中编写 module-info requires 语句?

我正在将旧版 Java 应用程序转换为模块化应用程序。这是一个 Gradle 项目,依赖项如下所示:

在 App 类中,我的导入是:

我想创建一个 module-info.java 文件。但是当我这样做时,我的应用程序将无法编译,因为requires模块信息文件中的指令错误。

模块名称xomjOpenDocument不足。但是我不知道这些依赖项应该是什么,也不知道如何重新配置​​Gradle;如果那是我需要做的。

当我省略任一requires语句时,相应import的 s 无法解析。我没有查看 JAR 文件。但我不认为这两个工件是模块化的。

我正在使用 Gradle 5.6.2,我的目标是 Java 11。

0 投票
1 回答
56 浏览

java - 找不到自动模块

我无法将 org.json 作为自动模块导入。

我已经建立了一个非常简单的测试项目,其目录结构如下:

模块信息

我尝试运行javac为:

返回错误:

org.json不是模块化项目,据我了解,将其包含在模块路径中会将其变成“自动模块”,其名称源自文件名json-20200518.jar

我在做什么错/不理解?

0 投票
0 回答
756 浏览

java - 将 jlink 与 org.json:json 工件一起使用时出现自动模块错误

我是第一次创建 JavaFX 项目,但在导出和部署项目时遇到了一些麻烦。按照本教程,我尝试使用 jlink,但遇到了错误:

我将org.json:json:20180130工件用作项目中的依赖项,这似乎是导致此错误的原因。我已经在 SO 以及其他一些在线资源上查看了与我类似的问题。但是我在理解他们的解决方案时遇到了很多麻烦,因为我只是这方面的初学者。

我已经阅读了有关添加模块描述符和使用命令行生成模块信息的信息。但我不知道该怎么做。

这是我目前的module-info.java(youdolist是我的项目):

这是我的 pom.xml:

0 投票
1 回答
137 浏览

java - 尝试在 Java 中编译和运行示例模块时出错

我是模块主题的新手,我正在关注如何创建、编译和运行它们的简单示例。

我的项目的文件夹结构如下图所示:

osfar的项目目录结构

首先我在一个 cmd 窗口中输入这个来编译 module-info.java 和 Task.java 文件:

然后我尝试使用以下代码运行代码:

我收到以下错误:

有人可以解决这个问题吗?另外,--module-path选项在javaandjavac命令中的作用是什么?

这是类和模块描述符的代码:

0 投票
2 回答
332 浏览

java - 使用 Java 模块时绕过旧的 java meta-inf / services

我正在尝试使用Batik-library制作一个显示 SVG 图像的 Java FX 应用程序,但是在正确导入所有组件时遇到问题。

经过大约 5 个小时的搜索和测试,我终于更改了其中一个依赖项的 jar,以删除早于当前模块系统的旧 Java 服务(或任何你称之为的)。所以目前的解决方法是手动删除“ batik-script-1.13.jar ”中的“ META-INF/services/org.apache.batik.script.InterpreterFactory ”-file 。

有没有合适的方法来做到这一点?在我的项目模块信息中,还是通过 Maven?无需手动更改 jar?

提前致谢!:)

如果相关:Mac OS、Java openjdk-14.0.2、Maven 3.6.3、VSCode 1.49.0

0 投票
2 回答
511 浏览

java - 如何使用模块化 Java 在 Gradle 6.6 中设置 mainClassName

在 build.gradle 中的 Gradle 6.3 中,mainClassName 可以这样设置,没有任何抱怨:

在 Gradle 6.61 中,上述行导致:

java.lang.module.InvalidModuleDescriptorException:在模块中找不到包 mod.app

这可以通过删除 mainClassName 的模块部分来解决:

虽然异常得到解决,但 Gradle 仍然声明:

假设当前模块没有为主类提供模块。最好以以下格式提供“mainClassName”:“$moduleName/abMain”

我已经尝试过这种变化:

到目前为止,我一直无法让其中任何一个工作。我可以将设置设置为“app.Main”,但我更喜欢使用 Gradle 喜欢的变体。这应该怎么做?

0 投票
1 回答
692 浏览

java - 运行 javafx 应用程序 - 启动层初始化期间发生错误:java.lang.module.ResolutionException

正如标题所说,我只是想运行 javafx 应用程序。但是我不知道为什么会收到此错误,也不知道为什么错误引用了sisu.inject.beanandaopalliance模块。我不知道是 module-info.java 还是 pom.xml 导致了错误。在此先感谢您的任何回答。

模块信息.java:

pom.xml:

错误:

0 投票
0 回答
29 浏览

java - 使用 Java11 自动生成的类文件

我有一个自动生成的类文件。不幸的是,它只是一个类文件,而不是托管模块的 jar 文件中的类。

我可以使用 javap 分析类文件。它承载 - 比方说 - 类 abcMyClass。我想补充

到正在使用的应用程序的 module-info.java。

如何制作有关该类的某个 jar 文件以将其放在模块路径中?

0 投票
0 回答
56 浏览

java - 在不重新编译的情况下更新损坏的依赖 module-info.java?

我的代码依赖于 Logback,它的文件中似乎有一个错误module-info.java。作者似乎长期处于不适应状态。有没有办法让我修补这个依赖项的module-info.java文件,而不必重新编译并依赖分叉版本?