未找到模块Ant & Java9模块化

jecbmhm3  于 2022-12-21  发布在  Java
关注(0)|答案(1)|浏览(187)

使用Ant迁移到Java模块时遇到了问题。Ant/Java没有拾取我的log4j-1.2-api jar/模块。

error: module not found: org.apache.log4j
 requires org.apache.log4j;

Here is my module-info.java

module Core {
    requires java.xml;
    requires org.apache.log4j;
}

下面是eclipse如何处理. classpath中的模块

<classpathentry kind="lib" path="lib/log4j-api-2.17.2.jar">
     <attributes>
        <attribute name="module" value="true"/>
    </attributes>
</classpathentry>

澄清一下,在从Java8迁移到需要模块的新版本之前,我没有遇到任何问题。

zujrkrfu

zujrkrfu1#

此问题与构建文件尝试添加类路径而不是模块路径有关。之前:

<javac srcdir="@{dir}" destdir="${build.home}/classes/@{dir}" debug="true" release="17" includeantruntime="false" nowarn="${javac.nowarn}">
    <classpath refid="class.path" />
</javac>
    • 之后**
<javac srcdir="@{dir}" destdir="${build.home}/classes/@{dir}" debug="true" release="17" includeantruntime="false" nowarn="${javac.nowarn}">
    <modulepath refid="class.path" />
</javac>
    • classs. path**用于额外上下文
<path id="class.path">
    <pathelement path="${build.home}/classes/src"/>
    <fileset dir="lib">
        <include name="**/*.jar" />
    </fileset>
</path>

相关问题