问题标签 [java-module]

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 投票
2 回答
22311 浏览

java - 从 Java 9 访问 com.sun.tools.javac.util

我正在尝试Listcom.sun.tools.javac.util. 这适用于 Java 8,但在切换到 Java 9 时出现以下错误:Package 'com.sun.tools.javac.util' is declared in module "jdk.compiler", which does not export it to the unnamed module".

我尝试添加requires jdk.compiler;到我的module-info文件中,但这并没有解决问题。

0 投票
0 回答
429 浏览

intellij-idea - Gradle does not add resources to module path

I created a simple gradle project that builds and runs a simple java 9 module.

This module requires only log4j and expects to find a log4j2.xml file to configure the logger.

The problem I am having is that it seems that this file is not added to the module classpath and when I execute./gradlew run I always get "ERROR StatusLogger No log4j2 configuration file found. Using default configuration:" as the first output line, which means it could not find the file (which is under src/main/resources).

If I import this project in IntelliJ and run it, I get the exact same error.

Am I doing something wrong? Shouldn't this file be automatically added to the module classpath?

0 投票
1 回答
21965 浏览

java - Java 9:模块 java.xml.bind 在 Eclipse 中不可访问

我将Java 8中的 maven 项目迁移到Java 9项目,而Eclipse OxyGen 1a.

所以我的module-info.java看起来像这样:

在此处输入图像描述

但是 java.xml.bind 不可访问,尽管它在我的模块路径中:

在此处输入图像描述

那么这里有什么问题呢?

0 投票
3 回答
7945 浏览

java - 自包含应用程序,用 Java 构建

我看过一些在线演示文稿,其中简要提到了 Java 9 中的自包含应用程序,但我有一个问题想澄清一下。

使用新的模块系统,您现在可以只包含运行应用程序所需的最少代码量。但是,希望运行应用程序的系统是否仍需要 JRE,或者是否可以将其包含在程序的基本模块中?

我怀疑是后者,因为下载最新版本 Java 的页面(此处)仍然显示版本 8_151。

TL;DR - 使用 Java 9,是否可以创建一个独立的可执行文件,可以在没有安装 JRE/Java 的系统上执行?

0 投票
2 回答
1435 浏览

java - 限制 javapackager 添加的模块

我试图通过限制它包含的模块来减小我的应用程序的大小。我已经为我的运行时使用jlink. 但是,当我javapackager使用--add-modulesand--limit-modules选项和逗号分隔的一组我用于运行时的相同模块的列表运行时,它仍然坚持添加所有模块。它似乎不想尊重我给它的选择。如何获得该工具来限制它添加到我的应用程序包中的模块?

这是我运行的命令,替换了一些用户名之类的内容:

0 投票
1 回答
1434 浏览

java - module-info.java 使用 maven-compiler-plugin 和自动模块编译失败

我根据需要使用插件的 v3.7.0 和 JDK 9.0.1。我添加了两个requires语句,每个语句都引用类路径(自动模块)中的一个 jar。将 jar 移到 Modulepath 后,module-info.java 在 Eclipse 中编译成功。但是,Maven 给了我一个编译器错误,说其中一个缺失(奇怪的是,不是第一个,它只是之前的一行)。我试图检查自动模块名称,但我从这个 jar 的命令中得到一个错误。这个错误是什么意思,我该如何修复它,以便我可以找到正确的模块名称?

我在下面的输出中替换了我的用户名。有问题的 jar 确实使用了 aServiceLoader但未使用 Java 9 编译。

如何处理 Java 9 中自动生成的模块名称中的 java 关键字?与在模块名称中使用 Java 标识符有关的不同错误。我的模块的自动 jar 名称应该只是rcf因为 jar 名称是rcf-1.0.jar. 我得到的错误也不同。

0 投票
1 回答
1056 浏览

java - 为什么 --limit-modules 对我不起作用?

我有以下程序:

当我将此程序作为自动模块运行时,一切都很好:

但是当我使用时--limit-modules,程序仍然运行良好:

不应该有类似的东西:

?

0 投票
1 回答
5227 浏览

java - Java 9 迁移 javax.annotation

所以我尝试将我的项目迁移到 Java 9,但这个过程似乎并不像我想象的那么容易。我不断收到一些关于不可见包的错误,我可以在我的 pom 中使用以下参数修复这些错误:

但我仍然收到以下错误:

任何帮助,将不胜感激

0 投票
0 回答
181 浏览

java - 在 module-info.java 中需要 akka

我需要什么才能module-info.java使用?我在.AkkaJDK 9maven

0 投票
2 回答
5369 浏览

java - 如何将模块声明注入 JAR?

假设我有一些lib.jar我没有源代码的库(或者它是用一些不知道模块的非 Java 语言编写的)。lib.jar没有module-info.class,我不想将它用作自动模块,所以我想注入module-info.class它。

我首先module-info.java使用以下命令生成:

假设这产生了类似的东西:

然后我尝试编译它,但javac由于包不存在package1而失败:package2

当然,我可以创建目录package1package2在其中包含虚拟类,但是有更好的方法吗?