使用批处理和Chocolatey统一配置开发环境
程序员文章站
2022-05-31 18:39:05
...
统一开发环境
团队开发有必要统一IDE吗?
团队开发中,每个人都有自己擅长的集成环境,比如IDEA、MyEclipse等等,正是因为这些环境不统一,完成任务提交代码后,每当测试出BUG的时候,都会有 “代码在我机子上运行没有问题” 的说辞。那么问题来了,如何解决这个问题?团队开发用的ide也大不相同,主要分myeclipse,idea,NetBeans,而且比率差不多。最终导致的问题如下:
1.由于不同ide产生的文件结构不同,导致svn版本上文件混乱。
2.各ide生成的文件内容不一样,例如get 或者set方法,tostring 和hashcode方法也大不相同。
3.其他。
由于这些问题又会给项目打包部署和后期的维护带来一些问题。
解决方案
- 方案一
使用chocolatey统一下载开发环境,控制开发版本已经环境变量。
- 方案二
定制checkstyle 2.统一IDE 3.统一IDE代码模板。
结果:这样可以解决一切问题。
- 方案三
不统一ide,项目的创建和核心代码一级项目的打包部署由具有相同ide的人编写,其他人只提交个人相关模块的代码。
结果:由于人员流动大,后期模块的维护还会面临同样的问题。
- 方案四
使用docker封装一个linux的开发环境,分发给团队成员。成员可以在自己的系统里开发程序,代码却可以在同一的环境里运行。
具体实现
这里采用了方案一,下面进行具体实现。(以下针对windows系统)
- windows7系统,创建txt文件,将文件名修改为以.bat结尾的批处理文件。
- windows10系统,创建txt文件,点击进入另存为,选择文件类型为所有文件,文件名改为以.bat结尾的批处理文件。
- 右键编辑你创建的批处理文件,将以下代码复制粘贴进去做必要修改并保存
@echo off
:: BatchGotAdmin
::-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"="
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
pushd "%CD%"
CD /D "%~dp0"
::--------------------------------------
::ENTER YOUR CODE BELOW:
cmd /k "@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"&&choco install -y maven&&choco install -y jdk8"
需要注意的是,批处理文件里是按行处理,所以一定要按照给定格式复制粘贴。不要少空格。此代码自动安装了jdk8和maven。不需要自己手动配置环境变量,使用chocolatey默认配置即可。如需安装其他环境,只要在上述代码段最后一行双引号内部最后添上&&choco install -y (你要安装的环境或软件)。
具体chocolatey语法与操作请看另一篇Chocolatey的安装与使用。
- 修改完成后将防火墙关闭,确保网络保持通畅,左键双击运行等待自动下载安装完成即可。