【问题标题】:Do I have to use Maven modules for this or will plain projects be enough?我必须为此使用 Maven 模块还是普通项目就足够了?
【发布时间】:2014-01-25 21:29:03
【问题描述】:

我正在开发一个应用程序,该应用程序将具有一组核心类、一组较小的工具程序,这些工具程序将使用/共享/依赖这些核心类来生成数据(例如,游戏和项目的各种编辑器,级别、模型),并且我还有一个(或多个)启动器用于启动应用程序。

工具和启动器都依赖于核心类(关卡编辑器(工具)和游戏(启动器)都必须知道关卡是什么(核心类的一部分))。

我可以为此使用三个 Maven 项目吗?一个用于核心类,一个用于启动器,一个用于工具?然后添加依赖?

在我认为我必须创建一个涉及父项目和模块的更复杂的结构之前,但这真的有必要/传统吗?

【问题讨论】:

    标签: java eclipse maven dependencies project


    【解决方案1】:

    两种方式都很方便。你可以从以下几点入手:

    1. 你的课程中是否有一部分不应该暴露给别人?例如,服务器类仅在您的服务器上运行,并且您希望将它们保存在单独的 jar 文件中,而不是与公众共享 - 因为您希望分离模块;
    2. 是你的系统会有大量的类吗?分离到模块也会分离关注点,你可能会有很多测试用例,分离到模块将帮助你从一个小模块运行特定测试集,比从一个大模块运行所有测试更快;
    3. 您是否打算将您的某些类公开给另一个应用程序?将这些类提取到单独的模块中不会暴露应用程序的其他部分;
    4. 如果前面的观点不支持分离 - 你可能应该从一个模块开始,这很简单,我看到很多项目使用单模块方法,你可以随时切换到多模块。

    PS。 如果您选择了多模块实现,请不要创建许多高粒度模块。

    【讨论】:

    • 所以一个父项目,然后是这些模块,这就是你的建议?但是,普通项目如何防止这些?
    • 如果您选择了多模块方法 - 建议至少创建一个父项目。在它的 pom.xml 中,您可以定义许多常见的东西,例如变量、外部依赖项的版本,并使用一个“mvn install”镜头构建整个项目
    • 嗯,这听起来真的很有用。我想我需要找到一些方法来让它在 Eclipse 上运行。
    • 最新版本的eclipse支持maven模块导入。或者可以使用 mvn eclipse:eclipse 生成相关的eclipse项目文件。
    • Tsaplin,好吧,如果您有兴趣,请参阅this question。如果答案是可信的,那么目前不可能做我想做的事。
    猜你喜欢
    • 2017-05-24
    • 1970-01-01
    • 2014-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-03
    • 2020-10-27
    相关资源
    最近更新 更多