1

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

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

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

谢谢。

4

3 回答 3

1

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


要在 Java Web 项目中使用 Spring,通常需要添加两件事:

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

这就是它的全部。

于 2013-06-04T21:42:27.363 回答
1

Spring与“共享项目”无关。

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

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

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

于 2013-06-04T21:41:46.043 回答
0

是的。

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

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

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

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

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

于 2013-06-04T21:45:48.927 回答