Skip to main content

Java(Mac)

软件版本说明

项目工程开发及运行所需软件:

项目版本说明
Java SE Development Kit1.8.221Java 开发工具包
ImageMagick7.0.8-56可选,图像处理
FFmpeg4.1.4可选,音频/视频处理
Git2.22.0软件配置管理(SCM: Software Configuration Management)
Gradlew软件项目管理工具,制品库(Nexus Repository)

可选软件:

项目版本说明
NVM0.33.11Node.js 版本管理工具
Node.js12.10.0Node.js 运行时环境,用于执行自动化脚本

集成开发环境:

项目版本说明
IntelliJ IDEA Community2019.2https://www.jetbrains.com/idea/download/#section=mac
SmartGit19.1https://www.syntevo.com/smartgit/download/

安装 Java SE Development Kit (JDK)

下载页面下载适用于 Mac OS X x64 的 DMG 文件(jdk-8u221-macosx-x64.dmg),装载 DMG 镜像,执行安装程序。

若已安装过其他版本的 JDK,可通过以下命令查看已安装 JDK 的列表:

$ /usr/libexec/java_home -V
Matching Java Virtual Machines (5):
11.0.1, x86_64: "Java SE 11.0.1" /Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
1.8.0_221, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home
1.8.0_211, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
1.8.0_191, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home
1.8.0_181, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home

通过更新 ~/.bash_profile 的 JAVA_HOME 全局变量更新默认 Java 版本:

export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_221`

安装 ImageMagick

仅在所开发的模块需要进行图像处理时必要。

通过 HomeBrew 安装 ImageMagick:

$ brew install imagemagick

安装 FFmpeg

仅在所开发的模块需要进行音频或视频处理时必要。

通过 HomeBrew 安装 FFmpeg:

$ brew install ffmpeg

安装 Git

通过 HomeBrew 安装 Git:

$ brew install git

Mac OS X 出厂自带 Git,该操作将对 Git 版本升级。

配置gradle

编辑文件 ~/.gradle/gradle.properties(若不存在则新建)

#根据实际java路径进行更改
#org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home

org.gradle.caching=true
#org.gradle.caching.debug=true
org.gradle.configureondemand=true
org.gradle.console=rich
org.gradle.daemon=true
org.gradle.daemon.idletimeout=3600000
org.gradle.debug=false
org.gradle.jvmargs=-Xms2048m -Xms2048m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -XX:+UseParallelGC -Dfile.encoding=UTF-8
org.gradle.logging.level=lifecycle
org.gradle.parallel=true
org.gradle.priority=normal
org.gradle.vfs.verbose=false
org.gradle.vfs.watch=true
org.gradle.warning.mode=all
org.gradle.workers.max=12

# 私有 Maven 库配置
dxsuite.nexus.url.public=https://nexus.dxsuite.cn/repository/dxsuite-public
dxsuite.nexus.url.releases=https://nexus.dxsuite.cn/repository/dxsuite-releases
dxsuite.nexus.url.snapshots=https://nexus.dxsuite.cn/repository/dxsuite-snapshots
dxsuite.nexus.username=dxsuite
dxsuite.nexus.password=Rd123456

# SonarQube
systemProp.sonar.host.url=https://sonarqube.dxsuite.cn
  • org.gradle.java.home 根据实际情况设置jdk路径
  • org.gradle.caching 设置为 true 时,则源码无更新时项目不会重新构建(因此不会生成警告,也不会执行 JUnit 测试)
  • org.gradle.jvmargs 为 JVM 参数,需要根据开发环境设备的实际配置调整
  • org.gradle.workers.max 最大并发线程数,需要根据开发环境设备的实际配置调整

更新依赖时:

./gradlew build --refresh-dependencies

不使用缓存重新构建时(如遇到代码编译结果可能不正确可执行此命令不使用缓存重新构建编译,时间较长。或删除~/.gradle/caches/modules-2/files-2.1/ 路径下的缓存jar,然后执行上面的更新依赖命令):

./gradlew build --no-build-cache

不使用并行构建时:

./gradlew build --no-parallel

设置日志级别:

./gradlew build --info  # 将日志级别设置为 INFO
./gradlew build --debug # 将日志级别设置为 DEBUG
./gradlew build --quiet # 仅输出错误日志

安装 Maven

通过 HomeBrew 安装 Maven:

$ brew install maven@3.5

在 ~/.m2/ 下创建文件 settings.xml 并设置以下内容以从 Nexus Repository Manager OSS 的 dxsuite-cloud-public 获取依赖包:

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">

<pluginGroups/>

<proxies/>

<servers>
<server>
<id>nexus</id>
</server>
</servers>

<mirrors>
<mirror>
<id>nexus</id>
<mirrorOf>central</mirrorOf>
<url>http://nexus.dxsuite.cn/repository/dxsuite-cloud-public/</url>
</mirror>
</mirrors>

<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<url>http://central</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>

<activeProfiles>
<activeProfile>nexus</activeProfile>
</activeProfiles>

</settings>

可选:安装 Node.js

首先安装 Node.js 版本管理工具:

$ git clone https://github.com/nvm-sh/nvm.git ~/.nvm
$ cd ~/.nvm
$ git checkout v0.34.0
$ . nvm.sh

将以下内容加入到 ~/.bash_profile 中

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

安装 Node.js:

$ nvm install v12.10.0

生成 SSH 密钥及公钥

为从代码库拉取代码,需要在本地生成 SSH 密钥及公钥,并将公钥文件提交给持续集成管理员。

公钥文件被部署到 Gitolite 中后,开发者方可通过公钥文件访问授权的代码库。

通过以下命令生成 SSH 密钥和公钥(将 yourname 替换为实际用户名):

$ ssh-keygen -t rsa -C "yourname"
Enter file in which to save the key (/Users/Yourname/.ssh/id_rsa): /Users/Yourname/.ssh/yourname
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

生成的公钥文件为 ~/.ssh/yourname.pub。

为安装 IntelliJ IDEA 安装项目所需的插件

通过 Preferences > Plugins > Marketplace 查找 Lombok 插件,安装并重新启动。