【问题标题】:Sharing a Spring MVC project分享一个 Spring MVC 项目
【发布时间】:2013-06-04 21:23:29
【问题描述】:

我需要做一个 Java Web 项目。我将使用 Eclipse。

我想到了使用 Spring MVC。据我所知 - 这将需要我向“干净”的 Java Web 项目添加一些“额外”的东西。我不介意 - 事情是 - 项目要求之一是 - 我将能够将项目发送给其他人 - 没有任何额外的安装和/或配置 - 他将能够编译项目。

Spring MVC 有可能吗? Spring MVC 框架是否只是项目的“JAR”之类的补充 - 因此 - 可以毫无问题地共享项目?

谢谢。

【问题讨论】:

  • 只使用maven!如果项目依赖于某些数据库,文件等提供。
  • 这里真的考虑maven。它将对您有很大帮助,使您的项目 IDE 的分发独立且简单得多。

标签: java eclipse spring spring-mvc web-applications


【解决方案1】:

简短回答:是的,你是对的。


要在你的 Java web 项目中使用 Spring,你一般需要添加两件事:

  • 适当的 Spring 配置文件 (XML)
  • 适当的Spring JAR 文件(传统上放在/WEB-INF/lib,与其他JAR 相同)。顺便说一句,它不是一个 JAR 文件,而是几个 JAR 文件。

仅此而已。

【讨论】:

    【解决方案2】:

    Spring与“共享项目”无关。

    要与其他人“共享”该项目,您可以将其放在您选择的 SCM 上,您的合作者将能够获取代码并进行处理。

    构建项目是一个不同的方面。要正确编译项目,您必须确保所有类和/或 jar 在类路径中可见(如果要执行代码,还需要运行时)。 Spring 由一堆 jar 组成,根据您使用的框架的哪些类,它们必须位于类路径中(例如,将它们放在 /WEB-INF/lib 目录中)。您也可以对它们进行版本控制,或者只是对配置进行版本控制(例如,我正在考虑 Maven,它将负责解决依赖关系)。

    另一个难题是在您的 IDE 中完成所有这些工作。这是一个品味问题。我不喜欢对特定于 ide 的文件进行版本化(对于 Eclipse,.settings.project 文件/文件夹)。您可以这样做,确保您不在任何地方使用绝对路径,从技术上讲,您将能够毫无问题地从另一台机器导入项目。

    【讨论】:

      【解决方案3】:

      是的。

      如果对方没有安装和配置任何额外的东西,即没有构建工具,你需要将所有需要的 Spring 和其他 Jar 放入一个文件夹,通常称为“lib”,并告诉他将它们添加到他的编译过程中。如果他只使用 JDK,他将获得一个巨大的命令行。使用 Maven 或 Ant+Ivy 之类的构建工具进行构建和依赖解析会好多。但根据您的问题,这将是一个“额外安装”。

      如果他像你一样安装了 Eclipse,并且你使用 Eclipse 内部进行构建:

      • 将 JAR 放在 lib 文件夹中
      • 配置构建路径
      • 进行本地测试构建
      • 将项目导出为 zip(文件菜单 > 导出) " 其他人需要将项目导入到他的工作区中

      导出的项目不应该有任何绝对路径,只要你没有在构建路径中故意设置一些。

      这可行,但并不是最佳实践。安装像 Maven 这样的构建工具绝对值得花时间,并且在任何情况下都应该是首选。这将为您节省大量时间和精力。

      【讨论】: