在IDEA中创建多模块Gradle SpringBoot + Angular项目

在我的实践中,经常使用一堆Spring + Angular。 我想分享我在IntelliJ IDEA开发环境中准备这样的项目的经验。


创建一个空的Gradle项目


首先,在IDEA中创建一个空的Gradle项目,同时取消选中所有库和框架。




让我们的工件为“演示”,组为“ com.habr”。 创建项目后,将自动生成具有以下内容的settings.gradle和build.gradle文件:


build.gradle

group 'com.habr' version '1.0' 

settings.gradle

  rootProject.name = 'demo' 

为Spring创建一个模块


接下来,我们将向我们的项目添加一个模块,该模块将托管我们应用程序的服务器部分,即 春天




创建此模块时,我们将使用Spring Initializr。




让我们将模块命名为“ demo-server”,指示Gradle项目的类型,组com.habr和主包org.habr.demo的名称。




接下来,您需要选择Spring框架的所有必需组件,在本示例中,我仅选择了“ web”,但是您可以选择所需的所有内容。




创建演示服务器模块后,请注意在其中创建了2个文件:build.gradle和settings.gradle。 您需要从此模块的settings.gradle中将以下行转移到项目本身的settings.gradle文件的开头,并删除该模块的settings.gradle。



 pluginManagement { repositories { gradlePluginPortal() } } 

另外,您需要将创建的模块添加到项目的settings.gradle中,结果是:


settings.gradle
  pluginManagement { repositories { gradlePluginPortal() } } rootProject.name = 'demo' include 'demo-server' 

之后,我们从demo-server模块的build.gradle文件中删除以下几行:


  group = 'com.habr' version = '0.0.1' 

在此基础上,可以认为第一个模块的创建已完成,但是为了将其与第二个模块相关联,我们将返回到该模块。



为Angular创建模块


我们将demo-ui模块创建为java gradle项目。




让我们将创建的模块命名为“ demo-ui”。




在创建的项目中,您需要删除src文件夹。 执行完此操作后,在此模块的根文件夹中打开终端。




在打开的终端中,运行命令:


 ng new demo-ui 

该命令将安装Angular,并将在demo-ui模块内部创建一个具有相同名称的文件夹。




除节点模块外,已创建文件夹的所有内容都必须移至模块的根目录,并且文件夹本身也必须删除。




现在配置程序集,为此,我们将demo-ui模块的build.gradle转换为以下形式:


  plugins { id 'java' id "com.moowork.node" version "1.3.1" } node { version = '10.14.1' npmVersion = '6.4.1' download = true } jar.dependsOn 'npm_run_build' jar { // "demo-ui" -  Angular ,    ng new from 'dist/demo-ui' into 'static' } 

模块准备就绪。



我们绑定模块


只需将依赖项添加到演示服务器模块的build.gradle即可。


 implementation project(':demo-ui') 


结果,我们在“ demo-server”模块中获得以下build.gradle:


  plugins { id 'org.springframework.boot' version '2.1.5.RELEASE' id 'java' } apply plugin: 'io.spring.dependency-management' sourceCompatibility = '1.8' repositories { mavenCentral() } dependencies { implementation project(':demo-ui') implementation 'org.springframework.boot:spring-boot-starter-web' testImplementation 'org.springframework.boot:spring-boot-starter-test' } 

发射


要运行该应用程序,只需运行Gradle任务。



之后将构建并启动该应用程序,可以在浏览器中将其打开。



好吧,如果您想获取一个jar文件,那么只需运行构建任务即可。




汇编文件将在demo-server / build / libs中等待您。

Source: https://habr.com/ru/post/zh-CN454198/


All Articles