我需要做一个 Java Web 项目。我将使用 Eclipse。
我想到了使用 Spring MVC。据我所知 - 这将需要我向“干净”的 Java Web 项目添加一些“额外”的东西。我不介意 - 事情是 - 项目要求之一是 - 我将能够将项目发送给其他人 - 没有任何额外的安装和/或配置 - 他将能够编译项目。
Spring MVC 有可能吗?Spring MVC 框架是否只是项目的“JAR”之类的补充 - 因此 - 可以毫无问题地共享项目?
谢谢。
我需要做一个 Java Web 项目。我将使用 Eclipse。
我想到了使用 Spring MVC。据我所知 - 这将需要我向“干净”的 Java Web 项目添加一些“额外”的东西。我不介意 - 事情是 - 项目要求之一是 - 我将能够将项目发送给其他人 - 没有任何额外的安装和/或配置 - 他将能够编译项目。
Spring MVC 有可能吗?Spring MVC 框架是否只是项目的“JAR”之类的补充 - 因此 - 可以毫无问题地共享项目?
谢谢。
简短的回答:是的,你是对的。
要在 Java Web 项目中使用 Spring,通常需要添加两件事:
/WEB-INF/lib
,与其他 JAR 相同)。顺便说一句,它不是一个 JAR 文件,而是几个 JAR 文件。这就是它的全部。
Spring与“共享项目”无关。
要与其他人“共享”项目,您将其放在您选择的SCM上,您的合作者将能够获取代码并对其进行工作。
构建项目是一个不同的方面。要正确编译项目,您必须确保所有类和/或 jar 在类路径中可见(如果要执行代码,则在运行时)。Spring 由一堆 jar 组成,根据您使用的框架的哪些类,它们必须位于类路径中(例如,将它们放在/WEB-INF/lib
目录中)。您也可以对它们进行版本控制,或者只是对配置进行版本控制(例如,我正在考虑 Maven,它将负责解决依赖关系)。
另一个难题是在您的 IDE 中完成所有这些工作。这是一个品味问题。我不喜欢对特定于 ide 的文件(在 Eclipse.settings
和.project
文件/文件夹的情况下)进行版本控制。您可以这样做,确保您不在任何地方使用绝对路径,并且从技术上讲,您将能够从另一台机器导入项目而不会出现问题。
是的。
如果对方没有安装和配置任何额外的东西,即没有构建工具,您需要将所有需要的 Spring 和其他 Jar 放入一个文件夹,通常称为“lib”,并告诉他将它们添加到他的编译过程中。如果他只使用 JDK,他将获得一个巨大的命令行。使用 Maven 或 Ant+Ivy 等构建工具进行构建和依赖解析要好得多。但这将是根据您的问题的“额外安装”。
如果他像您一样安装了 Eclipse,并且您使用 Eclipse 内部进行构建:
只要您没有在构建路径中刻意设置一些,导出的项目就不应该有任何绝对路径。
这有效,但不是最佳实践。安装像 Maven 这样的构建工具绝对值得花时间,并且在任何情况下都应该是首选。这将为您节省大量时间和精力。