为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只斗牛犬 2023-09-06 15:41:35
我最近一直在学习多模块项目,我几乎将所有java项目重构为包含多个小模块的项目。当它都是java时一切都很好,但我现在正在开发一个项目,我有一个React应用程序,一些python代码,以及java。所以我有一个父模块,并且我将我的java代码分成了一些模块,但是我应该如何处理java脚本和python?我将java脚本放在它自己的模块中,它有一个pom(不依赖于任何东西),但是将这个react代码放在它自己的模块中实际上会做什么呢?Maven 处理我的 java 模块的依赖关系,但这里的依赖关系以不同的方式处理,所以我不能将任何依赖关系管理放入 React 模块 pom 中。python 模块也是如此。为什么我应该将 java 以外的任何东西分离到自己的模块中?我一直使用模块主要用于优化第三方库的依赖关系管理。为 React 代码和 Python 代码创建模块有好处吗?
查看完整描述

1 回答

?
斯蒂芬大帝

TA贡献1827条经验 获得超8个赞

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


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 文件,您的项目将被正确初始化。


查看完整回答
反对 回复 2023-09-06
  • 1 回答
  • 0 关注
  • 53 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信