Java Maven/eclipse项目结构

Java Maven/eclipse项目结构,java,eclipse,maven,project-management,Java,Eclipse,Maven,Project Management,我对Maven还是一个新手,我终于得到了我想要的,但现在我需要重新打破它 以下是我的设想: 我需要编写两个不同的服务器应用程序,它们使用相同的核心功能;只是,用这个框架所做的是非常不同的。一个服务器应用程序非常简单-已经完成了-而另一个要复杂得多 代码是以依赖项注入风格编写的(如果有必要,可以使用Guice),因此应该非常容易分解 我的问题是:您将如何使用Maven在Eclipse中构建项目?您是否会设立三个不同的项目,例如: server-core server-appEasy server-

我对Maven还是一个新手,我终于得到了我想要的,但现在我需要重新打破它

以下是我的设想:

我需要编写两个不同的服务器应用程序,它们使用相同的核心功能;只是,用这个框架所做的是非常不同的。一个服务器应用程序非常简单-已经完成了-而另一个要复杂得多

代码是以依赖项注入风格编写的(如果有必要,可以使用Guice),因此应该非常容易分解

我的问题是:您将如何使用Maven在Eclipse中构建项目?您是否会设立三个不同的项目,例如:

server-core
server-appEasy
server-appComplicated
每个服务器都有自己的pom。或者,你会把这些都放在一个项目中吗?我需要能够轻松地重新编译
appEasy
,比如说,从现在开始的一个月内,同时处理
appcomplex
appEasy
的类已在子包中。注意:
core
在没有至少一个模拟依赖注入的情况下无法自行工作。它没有
main


所有的想法都值得赞赏,即使是我没有想到的事情。

我不是专家,但这是我的2美分。 每个项目都需要自己的pom。 您是否需要一起构建所有项目?在这种情况下,有一个具有所有公共依赖项的父pom可能是有意义的


编辑:在这种情况下,我觉得每个项目只有三个单独的3 pom文件

有多种方法可以做到这一点,具体取决于您在部署时的需要。假设“服务器核心”是“服务器外观”和“服务器应用复杂”工件之间的共享工件,我建议如下

  • 创建Maven项目“服务器核心”
  • 添加两个模块项目 按名称“server appEasy”和“server AppComplex”
  • 确保模块项目将其父项目设置为“服务器核心”
  • 最后,您应该有三个项目(每个项目都有单独的pom.xml),其中
    A.构建“服务器核心”也将构建模块
    B根据需要独立构建“简单”和“复杂”模块也将构建服务器核心

  • 希望这有帮助

    我会有这样一个结构:

    /server
        /server-core
            pom.xml
        /server-appeasy
            pom.xml
        /server-appcomplicated
            pom.xml
        pom.xml
    
    因此,每个项目都有自己的pom.xml,它允许您独立地构建该项目

    但是,父文件夹也有一个pom.xml,如果运行,它将构建所有项目。可以通过将项目作为模块包含在父pom中来实现这一点

    例如,在父pom.xml中

    <modules>
        <module>server-core</module>
        <module>server-appeasy</module>
        <module>server-appcomplicated</module>
    </modules>
    
    
    服务器核心
    服务器外观
    服务器应用程序复杂
    

    您还可以在父pom tio中使用托管依赖项,这样您就可以集中外部依赖项和插件版本号。

    我建议将所有这些都构建为Maven多模块项目

    父项目将三个项目作为模块,第三方依赖项版本和项目版本作为属性

    然后,在服务器appcomplexed和服务器appEasy中,我将向服务器核心添加依赖项

    通过这种方式,您将获得: 1-要编译的根项目(父项目),它将生成两个服务器和核心库。 2-处理版本号和公共依赖关系的点


    我希望它能有所帮助

    既然这个简单的项目已经完成,我可能不会经常构建它。我只需要能够,以防我需要调整它感谢所有建议模块项目的人,这似乎是我所需要的。我不知道那个功能。谢谢我不认为这会起作用,因为父项目应该有包装“pom”,对吗?你是对的,答案是“cowls”是你可能想做的,也是我想做的。