3

我的具有多个子项目的 Java 项目正在将Immutables库用于值对象。

package foo.bar;

import org.immutables.value.Value;

public class MyContainerClass {

    @Value.Immutable
    public interface Baz {
        String name();
    }

    // more interfaces here
}

这会在同一个包中生成一个名为foo.bar.ImmutableBaz实现Baz接口的类。另一个子项目最近在同一个包中声明了另一个同名接口foo.bar,但容器类不同。这导致了第二foo.bar.ImmutableBaz类的产生。这两个类无意中以相同的完全限定名称结束,这导致在运行时加载错误的类出现问题。

我如何最好地检测这些命名冲突,例如在测试中或作为 CI 管道的一部分?

我知道我可以使用 Immutables 指定目标包,但我希望检测并避免无意的冲突。

4

0 回答 0