1.问题描述
No compiler is provided in this environment. Perhaps you are running on a JRE。
2.添加配置
添加配置指定 maven 打包的 java 环境,可以解决问题,但是因为开发人员每个人配的不一样,这样的配置不利于团队开发,也就是治标不治本,要找到问题的根本原因
代码语言:xml复制<build>
<plugins>
<plugin>
<!-- 指定maven编译的jdk版本 -->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<verbose>true</verbose>
<fork>true</fork>
<!--你的jdk地址-->
<executable>/Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home/bin/javac</executable>
</configuration>
</plugin>
</plugins>
</build>
3.检查配置
java --version #可以正常显示 mvn --version #可以正常显示
使用 mvn -version runtime 检查 maven 的运行环境
代码语言:shell复制mvn -version runtime
查看 java 的环境配置
代码语言:apl复制vim ~/.bash_profile
source ~/.bash_profile
代码语言:properties复制JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_321.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH
4.java_home
执行下面的命令,如图,可以看到 2 个 home 目录,maven 使用的正是 JavaAppletPlugin.plugin 的 java_home,我们需要删除 JavaAppletPlugin.plugin 这个插件
代码语言:shell复制/usr/libexec/java_home -V
5.删除插件
进入目录,需要使用 sudo 权限删除插件
代码语言:apl复制cd /Library
cd Internet Plug-Ins
sudo rm -rf JavaAppletPlugin.plugin
检查 maven 的运行环境,和配置的 java 环境一致
代码语言:apl复制mvn -version runtime
再次执行 maven 的打包命令,顺利打包.
Git 是一个开源的分布式版本控制系统,由 Linus Torvalds 创建,用于有效、高速地处理从小到大的项目版本管理。Git 是目前世界上最流行的版本控制系统之一,广泛应用于软件开发中。
以下是 Git 的一些核心概念和功能:
- 分布式版本控制:与集中式版本控制系统(如 SVN)不同,Git 允许每个开发者拥有完整的代码库副本,包括完整的历史记录。
- 分支(Branching):Git 支持快速创建和合并分支。分支是指向代码库中特定提交的可移动指针。
- 合并(Merging):合并是将两个或多个开发历史合并在一起的过程。
- 标签(Tagging):用于标记特定的提交,通常用于版本发布。
- 暂存区(Staging Area):也称为索引,是准备下一次提交的文件列表。
- 提交(Commit):保存项目历史和文件快照的记录。
- 远程仓库(Remote Repositories):可以是服务器上的仓库,用于与他人共享代码。
- 克隆(Cloning):从远程仓库复制代码库到本地。
- 拉取(Pull):从远程仓库拉取最新的代码并合并到本地。
- 推送(Push):将本地的提交推送到远程仓库。
- 拉取请求(Pull Requests):在分布式开发环境中,用于请求将你的更改合并到主分支。
- 分支策略:Git 支持多种分支策略,如 Git Flow、GitHub Flow 等。
- 钩子(Hooks):Git 允许在特定事件发生时执行脚本,如提交前、推送前等。
- 子模块(Submodules):允许将一个 Git 仓库作为另一个 Git 仓库的子目录。
- 工作流:Git 支持多种工作流,如集中式工作流、功能分支工作流等。
Git 的命令行工具非常强大,但同时也有图形用户界面(GUI)客户端,如 GitHub Desktop、SourceTree、GitKraken 等,使得非技术用户也能轻松使用 Git。
Git 通常与 GitHub、GitLab 或 Bitbucket 等在线托管服务一起使用,这些服务提供了额外的功能,如代码审查、持续集成/持续部署(CI/CD)、项目管理工具等。