gpt4 book ai didi

java - 如何在Eclipse中使用模块化项目的.classpath?

转载 作者:行者123 更新时间:2023-12-02 11:41:55 27 4
gpt4 key购买 nike

我创建了一个具有以下结构的测试项目:

baseTest
|- src/main/java
| |- com.base
| | |- MainDependency.java
| |- module-info.java
|- src/test/java
|- test.com.base
|- SomeTest.java

module-info.java只是一个空模块声明:

module com.baseTest {
}

同样适用于MainDependency.java :

package com.base;

public class MainDependency {
}

SomeTest是一个依赖于 main 中的代码的类以及来自 JDK:

import java.util.logging.Logger;

import com.base.MainDependency;

public class SomeTest {

String s;
MainDependency md;
Logger j;
}

.classpath

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="module" value="true"/>
<attribute name="add-exports" value="java.logging/java.util.logging=ALL-UNNAMED"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="bin"/>
</classpath>

使用上述配置,我得到 The import java.util.logging cannot be resolved错误。正在删除<classpathentry kind="src" path="src/main/java"/>删除错误(可能是因为该项目不再被视为模块化)。

我找到了bug 526831在 Eclipse 中,但从那里看来,这并不是一个真正的错误(?)。我在项目设置或配置方面做错了什么吗?

最佳答案

module-info.java中所需的模块java.logging必须指定(而不是 <attribute name="add-exports" value="java.logging/java.util.logging=ALL-UNNAMED"/> 中的 .classpath ):

module com.baseTest {
requires java.logging;
}

Eclipse 为此提供了一个快速修复 (Ctrl+1):将“requires java.logging”添加到 module-info.java .

关于java - 如何在Eclipse中使用模块化项目的.classpath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48481196/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com