首页 > 解决方案 > 如何将具有相同名称和相同命名空间(包名称)的java类导入一个maven项目

问题描述

谁能告诉我如何将具有相同名称和相同命名空间(包名称)的 java 类导入到一个 maven 项目中。我已经使用 pom 文件中的依赖标签将这些类包含在 maven 项目中。当我想创建此类的新实例时,我无法定义从哪个项目中获取类定义。例子:

在项目 abc 我有 class 定义:

    myclass.FirstClass(){
    Pivate String a;
    // getter and setter for a
    }

在项目def我有类定义:

    myclass.FirstClass(){
    Pivate String a;
    // getter and setter for a
    }

现在我想在第三个项目中使用这两个定义,我应该将属性值从 abd 中定义的类分配给 def 项目中定义的类。我知道这听起来很疯狂,但我用它来为 designig Web 服务映射对象。

谢谢,米哈

标签: javamavennamespacesdependenciespom.xml

解决方案


这是无法做到的。Java 无法区分具有相同限定名的两个类。

您需要重命名其中一个包。如果至少有一个项目是你的abcdef这很容易做到。如果没有,您可能需要 Maven shade 插件之类的东西。


推荐阅读