gpt4 book ai didi

java - Java/Spring Web 应用程序的文件结构

转载 作者:行者123 更新时间:2023-11-28 22:38:36 25 4
gpt4 key购买 nike

我刚刚开始学习 Spring(和 Java),并且正在组装一个包含多个部分的应用程序。我想要的是关于如何在 IDE 中以及在部署时构建应用程序的一些意见。我使用带有 Tomcat 7 的 intellij 11 作为引用。

我的应用程序由这些部分组成:

  • 主要公共(public)网站 (www.myapp.com)
  • REST 服务 (www.myapp.com/rest)
  • 管理网站 (admin.myapp.com)
  • UI 资源 (cdn.myapp.com)

我需要在所有这些应用程序(我的服务层)之间共享 Java 类,并且还存在在主网站和管理站点之间共享 UI 资源(css、js、图像)的问题。

我应该如何最好地在我的 IDE 和 Tomcat 上组织这些内容?

到目前为止,我的想法是提到的每个应用程序都是单独的 WAR 文件(它们不需要共享 session )。我会将我的服务层创建为一个 JAR,它可以被任何应用程序使用。您将如何在 intellij 或 Eclipse 中表示它?

我想我在 cdn.myapp.com 上的 UI 资源可以像往常一样被包含进来,并且这些 UI 资源将再次被打包为另一个 WAR。这听起来不错吗?

像这样,您如何使用多个子应用来组织您的项目?

正如您所看到的,我不一定遵循硬性规定,只是真正的意见(尽管如果有人有明确明确的答案那就太好了)。

谢谢,

詹姆斯。

最佳答案

我会考虑使用像 maven 这样的构建工具, GradleBuildr .他们都使用 standard directory structure并支持 sub-modules .

例如,您可以使用子模块创建两个“war 模块”,并将共享资源放入共享 jar 中。

/root <- Root project, contains configuration that is shared accross all sub-modules
/root/sharedResources (jar) <- Contains the things you need to share between applications
/root/admin (war) <- admin site, has a dependency on sharedResources.jar
/root/mainSite (war) <- main site, has a dependecy on sharedResources.jar

当涉及到 tomcat 时,您可以在单独的上下文中部署不同的 war 文件,或者使用反向代理来创建选择的 url 方案。

IntelliJ 对 maven 有一流的支持(不确定 buildr 和 gradle),因此您只需将 IDE 指向 root-pom.xml,它会自动为您创建正确的配置。

看看github,例如cucumber-jvm有关如何在给定构建工具中配置父/子模块的示例。

关于java - Java/Spring Web 应用程序的文件结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9749060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com