问题标签 [java-platform-module-system]
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 - Immutables don't generate code with java 9 with modules
Using immutables-library works fine with java 9 until I add a module-info.java
to the project, Immutables*.java
will no longer be generated.
To the module-info I add 'requires value' as suggested by IntelliJ.
What am I missing, is it a immutables-library
issue or something else I need to set up in order for javac
to find the annotation processing.
I am using maven with the maven-compiler-plugin:3.7.0
configured for target/source = 9.
java - What does "Required filename-based automodules detected." warning mean?
In my multi-module project, I created module-info.java
only for few modules. And during compilation with maven-compiler-plugin:3.7.0
I'm getting next warning:
[WARNING] * Required filename-based automodules detected. Please don't publish this project to a public artifact repository! *
What does it mean? Is that because I have only a few modules with module-info.java
and not the whole project?
java - 无法为 Java 9 中自动生成的模块名称派生模块描述符?
我的项目依赖于 Netty Epoll 传输。这里是依赖:
此依赖项的自动生成的模块名称是:
由于native
Java 9 中保留了关键字,因此我无法将此模块作为依赖项添加到我的项目中:
由于:
此外,jar 工具--describe-module
报告以下内容:
无法为以下各项派生模块描述符:netty-transport-native-epoll-4.1.17.Final-SNAPSHOT-linux-x86_64.jar netty.transport.native.epoll:无效的模块名称:'native' 不是 Java 标识符
有什么解决方法吗?(当然,“发布正确的网络工件”除外)。
编辑:
作为维护者的快速修复 - 您可以添加下一行来构建:
java - 如何从 Java 9 模块中导出所有包?
现在,对于我拥有的每个模块,我都需要明确指定要导出的包。例如:
但是,它不是很方便。我想做这样的事情:
有没有办法做到这一点?这个限制从何而来?
java - 模块不依赖 Intellij IDEA 2017.2.5 Java 9
我刚刚在命令行中测试了我对 java 9 模块的理解。然后我转到 Intellij IDEA 2017.2.5 进行测试。那里我面临错误module is not in dependencies
不知道为什么 intellij 显示错误。
我只是在module-info.java
asexports
和requires
.
然后我使用 Intellij 智能通过 IDEA 自行解决错误。只需 ALT+ENTER 然后我单击Add dependency on module 'module-name-here'
. 但我不知道 Intellij 在幕后做了什么。有什么想法吗?
java - 编译 Java 9 模块时的包冲突
我正在尝试编译一个具有单个直接依赖项的简单模块,并且我收到许多关于从 2 个库中读取的包的错误。
我正在使用最新的稳定版本的库,我看到包在它们之间是分开的。
有没有什么方法可以解决这个问题,而无需等待新版本的包未拆分的库?
模块信息.java:
构建.gradle:
Java版本:9+181
gradle版本:4.2
./gradlew Abc:compileJava
任务:Abc:compileJava
错误:未命名模块从功能区和ribbon.transport读取包com.netflix.ribbon
错误:未命名模块从ribbon.httpclient 和ribbon.loadbalancer 读取包com.netflix.loadbalancer
错误:未命名模块从 jcl.over.slf4j 和 commons.logging 读取包 org.apache.commons.logging
错误:未命名的模块从 jcl.over.slf4j 和 commons.logging 读取包 org.apache.commons.logging.impl
错误:未命名模块从ribbon.httpclient 和ribbon.core 读取包com.netflix.client.http
错误:未命名模块从ribbon.loadbalancer 和ribbon.core 读取包com.netflix.client
错误:模块 spring.cloud.starter.archaius 从功能区和ribbon.transport 读取包 com.netflix.ribbon
错误:模块 spring.cloud.starter.archaius 从 jcl.over.slf4j 读取包 org.apache.commons.logging和 commons.logging
错误:模块 spring.cloud.starter.archaius 从 jcl.over.slf4j 和 commons.logging 读取包 org.apache.commons.logging.impl
错误:模块 spring.cloud.starter.archaius 读取包 com。来自ribbon.httpclient 和ribbon.loadbalancer 的netflix.loadbalancer
...
100 错误
java - 列出 jar 文件中的模块
我已经创建了一个我很确定是模块化的 jar 文件。但如果可能的话,我想仔细检查一下。给定一个 jar 文件,有没有办法确定编译器会在其中找到哪些模块?
java - Gradle Source Set 依赖项不适用于 Jigsaw 模块
考虑以下 gradle 项目:
src/foo/module-info.java
src/bar/module-info.java
构建.gradle
运行gradle compileBarJava
时,java编译器给出以下错误:
这是为什么?毕竟,bar
源集的设置方式是它应该完全依赖于foo
. 如果bar
源集中的类依赖于 中的类foo
,编译器不会抱怨。