Context
我在 github 上创建了一个多项目测试,以提供一个可行的解决方案。此多项目测试是使用 Grails 3.2.11 和 Java 1.7 创建的。你可以在这里下载:https://github.com/esalomon/multi-project-test3 https://github.com/esalomon/multi-project-test3
接下来您将找到其创建说明。
项目创建
1 创建多项目文件夹:
mkdir multi-project-test3
cd multi-project-test3
2 创建 Grails 应用程序和插件:
grails create-app myApp
grails create-plugin myPlugin1
grails create-plugin myPlugin2
3 myApp的settings.gradle文件被删除:
rm myApp/settings.gradle
4 使用以下内容创建多项目的 settings.gradle 文件:
include 'myApp', 'myPlugin1', 'myPlugin2'
project(':myApp').name = 'myApp'
5 myApp 的 build.gradle 文件已使用内联插件引用进行更新:
grails {
plugins {
compile project(":myPlugin1")
compile project(":myPlugin2")
}
}
项目测试
创建三个控制器,每个 Grails 项目中都有一个,以便测试应用程序:
1 myApp 的控制器已创建:
cd myApp
grails create-controller myAppController
2 myApp 的控制器使用以下代码更新:
package myapp
class AppController {
def index() {
render "[${new Date()}] This is the myApp's appController's index response."
}
}
3 myPlugin1 的控制器已创建:
cd myPlugin1
grails create-controller myPlugin1Controller
4 myPlugin1 的控制器使用以下代码更新:
package myplugin1
class Plugin1Controller {
def index() {
render "[${new Date()}] This is the myPlugin1's plugin1Controller's index response."
}
}
5 myPlugin2 的控制器已创建:
cd myPlugin2
grails create-controller myPlugin2Controller
6 myPlugin2 的控制器使用以下代码更新:
包 myplugin2
class Plugin2Controller {
def index() {
render "[${new Date()}] This is the myPlugin2's plugin2Controller's index response."
}
}
项目执行
当使用 run-app 命令执行 myApp 项目时,它会显示包含三个控制器的 Grails 主页面,每个控制器来自每个 Grails 项目:
cd myApp
grails run-app
| Running application...
Grails application running at http://localhost:8080 in environment: development
结论
我希望这可以帮助其他人,问候。