gpt4 book ai didi

java - Maven - 在 intelliJ 中正确构建不同语言的模块

转载 作者:行者123 更新时间:2023-12-02 01:18:49 26 4
gpt4 key购买 nike

我最近一直在学习多模块项目,我几乎将所有java项目重构为包含多个小模块的项目。当它都是java时一切都很好,但我现在正在开发一个项目,我有一个React应用程序,一些python代码,以及java。

所以我有一个父模块,并且我将我的java代码分成了一些模块,但是我应该如何处理java脚本和python?我将java脚本放在它自己的模块中,它有一个pom(不依赖于任何东西),但是将这个react代码放在它自己的模块中实际上会做什么呢? Maven 处理我的 java 模块的依赖关系,但这里的依赖关系以不同的方式处理,所以我不能将任何依赖关系管理放入 React 模块 pom 中。 python 模块也是如此。

  • 为什么我应该将除 java 之外的任何内容分离到自己的模块中?我一直使用模块主要用于优化第三方库的依赖关系管理。为 React 代码和 Python 代码创建模块有好处吗?

最佳答案

所以,这是一个想法。假设您有这些文件夹/目录,每个文件夹/目录代表一个不同的项目。

MyAwesomeProject
->db
->rest-api-java-maven
->reactjs-ui
->python-web-app
->scripts
->front-end.ps1
->back-end.ps1
->db.ps1
->back-end-2.ps1
->setup.bat
->docker-compose.yml

使 setup.bat 运行脚本文件夹中的脚本。

#Contents of setup.bat file

@echo off
start PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "scripts\front-end.ps1"
start PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "scripts\db.ps1"
start PowerShell.exe -NoProfile -ExecutionPolicy Bypass -Command "scripts\back-end.ps1"
exit

这些单独的脚本文件将启动每个单独的 docker 容器例如,

#Contents of db.ps1
cd db
$containerID = docker ps -q
docker kill $containerID
docker build . --tag=db
docker run -p 27017:27017 db

#Contents of back-end.ps1
cd rest-api
.\mvnw clean install -DskipTests=true
.\mvnw spring-boot:run

#Contents of ui.ps1
cd ui
npm run start

然后拥有每个项目(我说的是项目而不是模块,因为java后端项目可以有多个模块) 有自己的 Dockerfile

现在您需要做的就是运行bat 文件,您的项目将被正确初始化。

关于java - Maven - 在 intelliJ 中正确构建不同语言的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58122065/

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