gpt4 book ai didi

java - 使用 java 的 Play Framework 的微服务模板项目

转载 作者:行者123 更新时间:2023-12-01 09:13:44 24 4
gpt4 key购买 nike

我想使用 java 在 Play 2.5 中为微服务创建一个多项目 helloWorld,但我找不到任何合适的模板或教程来启动。我的问题是我想创建一个可以同时运行并且可以通过 REST 接口(interface)访问的项目。

有什么想法吗?

最佳答案

嘿,这都是关于 sbt 多项目配置示例:

name := "microservices"

scalaVersion in ThisBuild := "2.11.8"

autoScalaLibrary := false


def module(id: String, names: String) = Project(id, file(names))
.settings(javacOptions in compile ++= Seq("-encoding", "UTF-8", "-source", "1.8", "-target", "1.8", "-Xlint:unchecked", "-Xlint:deprecation"))
.settings(jacksonParameterNamesJavacSettings: _*)

lazy val jacksonParameterNamesJavacSettings = Seq(
javacOptions in compile += "-parameters"
)

lazy val common = module("common", "modules/common")
lazy val aws = module("aws", "modules/aws")
.aggregate(common)
.dependsOn(common)

lazy val keywords = module("keywords", "keywords")
.enablePlugins(PlayJava, JavaAppPackaging, DockerPlugin)
.dependsOn(common, aws)
.aggregate(common, aws)

lazy val users = module("users", "users")
.enablePlugins(PlayJava, JavaAppPackaging, DockerPlugin)
.dependsOn(common, aws)
.aggregate(common, aws)

文件夹结构示例:

  • 根:
    • 用户
      • 项目
    • 关键字
      • 项目
    • 模块:
      • 常见
      • AWS

用户/build.sbt

name := """users"""
scalaVersion in ThisBuild := "2.11.8"
PlayKeys.devSettings := Seq("play.server.http.port" -> "9001")
// application version release
version := "2.8"

libraryDependencies ++= Seq(
cache,
javaWs,
"junit" % "junit" % "4.12",
"org.mockito" % "mockito-all" % "1.10.19",
"mysql" % "mysql-connector-java" % "6.0.4"
)

routesGenerator := InjectedRoutesGenerator

dockerExposedPorts in Docker := Seq(9001)

关键字/build.sbt

name := """keywords"""

PlayKeys.devSettings := Seq("play.server.http.port" -> "9002")
scalaVersion in ThisBuild := "2.11.8"
// application version release
version := "1.0"


libraryDependencies ++= Seq(
cache,
javaWs,
"junit" % "junit" % "4.12",
"org.mockito" % "mockito-all" % "1.10.19",
"mysql" % "mysql-connector-java" % "6.0.4"
)

routesGenerator := InjectedRoutesGenerator

dockerExposedPorts in Docker := Seq(9000)

然后您需要运行 sbt 并导航到所需的项目并运行它,以便将它们作为两个单独的进程运行:

  • 1个进程:
    • sbt;项目用户;运行;
    • 这将在 9001 上运行
  • 2个进程:
    • sbt;项目关键词;运行;
    • 这将在 9002 上运行

明天我将在 github 上为您提供示例模板。

关于java - 使用 java 的 Play Framework 的微服务模板项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40737680/

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