Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netbeans+;Java 9模块&x2B;Log4j 2.11=未找到模块_Java_Maven_Netbeans_Log4j_Java 9 - Fatal编程技术网

Netbeans+;Java 9模块&x2B;Log4j 2.11=未找到模块

Netbeans+;Java 9模块&x2B;Log4j 2.11=未找到模块,java,maven,netbeans,log4j,java-9,Java,Maven,Netbeans,Log4j,Java 9,我使用Apache Netbeans 9 Beta 9(2018年2月22日)。我有一个Java9模块应用程序。我想将log4j2集成到我的应用程序中。这是我的modile info.java module ru.itlect.remka.agent { exports ru.itlect.remka.agent; requires ru.itlect.remka.commons; requires org.apache.logging.log4j.core;

我使用Apache Netbeans 9 Beta 9(2018年2月22日)。我有一个Java9模块应用程序。我想将
log4j2
集成到我的应用程序中。这是我的
modile info.java

module ru.itlect.remka.agent {

    exports ru.itlect.remka.agent;

    requires ru.itlect.remka.commons;
    requires org.apache.logging.log4j.core;
    requires org.apache.logging.log4j;

    requires static spring.context;
    requires java.logging;
    requires java.xml;
    requires java.sql;
    requires java.desktop;
    requires java.naming;
    requires java.rmi;

    requires static javafx.graphics;
    requires static javafx.controls;
}
Netbeans说找不到
org.apache.logging.log4j
模块。
尽管
org.apache.logging.log4j.core
可以。当我构建项目时,它是成功构建的。因此,问题在于Netbeans本身
java——列出模块
说明
org.apache.logging.log4j
位于
log4j-api-2.11.0.jar
中。 如果我键入
requereslog
Netbeans建议
log4j.api
哪个自动模块名为
log4j-api-2.11.0.jar
。虽然Netbeans说,
log4j.api
也没有找到

我可以接受module-info.java中的常量错误消息,但Netbeans在
log4j-api-2.11.0.jar中看不到任何类,因此我在使用记录器的任何类中都有错误如何让Netbeans看到模块?

这是my pom.xml中的一部分:

<dependencies>

    <!-- Ремка -->
    <dependency>
        <groupId>ru.itlect.remka</groupId>
        <artifactId>commons</artifactId>
        <version>1.0.0</version>
    </dependency>

    <!--Spring-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>5.0.6.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-web</artifactId>
        <version>5.0.6.RELEASE</version>
    </dependency>

    <!-- Аннотации -->
    <dependency>
        <groupId>javax.annotation</groupId>
        <artifactId>javax.annotation-api</artifactId>
        <version>1.3.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.5</version>
        <exclusions>
            <exclusion>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <!-- Logs -->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.11.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.11.0</version>
    </dependency>
</dependencies>

ru.itlect.remka
平民
1.0.0
org.springframework
spring上下文
5.0.6.1发布
org.springframework
弹簧网
5.0.6.1发布
javax.annotation
javax.annotation-api
1.3.1
org.apache.httpcomponents
httpclient
4.5.5
公用记录
公用记录
org.apache.logging.log4j
log4japi
2.11.0
org.apache.logging.log4j
log4j型芯
2.11.0

我在更新某些应用程序以使用Log4j2 V2.11.1作为模块时也遇到了问题。我创建了一个简单的测试用例,并在Netbeans用户邮件列表中提出了它

今天早些时候,在最新版本的Netbeans 9中发现并修复了一个bug,格尔特扬今天早上批准了这项计划,他解释道。邮件列表()包含在修复程序合并到新版本之前解决问题的建议。新版本正在进入该过程。开发人员将感谢社区帮助更快地完成它,这可能是最好的方法


如果您需要即时解决方案,讨论中建议的一种方法是编辑jar文件,将module-info.class文件移动到根结构中。

模块名org.apache.logging.log4j是正确的。log4japi是一个新的API,它在
versions/9/module.info.class
中定义了它的名称-我猜NetBeans处理得不太好。这里也是这样。我真的很想知道为什么maven导入的模块在module-info.java中是必需的(我真的很想把jigsaw放在一个非常遥远的太空中)。Log4j 2.9不支持java 9模块。因此,NetBeans和Java都将其视为一个自动模块。