分类 JAVA 下的文章

在Maven多线程构建中,即使没有使用-fn参数,当一个模块构建失败时,其他模块也可能会被标记为SKIPPED。这是Maven的默认行为机制。

Maven失败处理机制

默认行为解释:

  • 当Maven检测到一个模块构建失败时,会自动跳过依赖于该模块或受其影响的其他模块
  • 这是为了避免在已知会失败的情况下浪费时间和资源
  • 即使在多线程模式下,这种依赖关系检查依然有效

相关配置选项:

选项行为
默认行为(无-fn)失败模块相关的其他模块会被跳过
-fn or --fail-fast第一个失败后立即停止所有构建
-fae or --fail-at-end继续构建所有模块,最后报告所有失败
-ff or --fail-never从不失败,即使有错误也继续执行

解决方案:

如果你希望在出现失败时仍然继续执行所有模块,应该使用-fae参数:

mvn clean package -T 4 -fae

或者如果你想完全忽略错误:

mvn clean package -T 4 -ff

总结:

  • Maven默认在模块失败时会跳过相关模块,这是正常行为
  • 使用-fae可以在遇到失败时继续执行所有模块,最后统一报告错误
  • 这与多线程与否无关,而是Maven的构建生命周期管理机制

进入容器命令行
docker exec -it dockerRedis bash
启动一个镜像
docker run -p 6379:6379 --name dockerRedis -v /home/www/redis.conf:/etc/redis/redis.conf -v /home/www/data/redis/:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

1、安装
yum install iptables-services #安装iptables

2、systemctl使用
systemctl unmask firewalld #执行命令,即可实现取消服务的锁定
systemctl mask firewalld # 下次需要锁定该服务时执行
systemctl start firewalld.service #启动防火墙
systemctl stop firewalld.service #停止防火墙
systemctl reloadt firewalld.service #重载配置
systemctl restart firewalld.service #重启服务
systemctl status firewalld.service #显示服务的状态
systemctl enable firewalld.service #在开机时启用服务
systemctl disable firewalld.service #在开机时禁用服务
systemctl is-enabled firewalld.service #查看服务是否开机启动
systemctl list-unit-files|grep enabled #查看已启动的服务列表
systemctl --failed #查看启动失败的服务列表

3、firewall-cmd使用
firewall-cmd --state #查看防火墙状态
firewall-cmd --reload #更新防火墙规则
firewall-cmd --state #查看防火墙状态
firewall-cmd --reload #重载防火墙规则
firewall-cmd --list-ports #查看所有打开的端口
firewall-cmd --list-services #查看所有允许的服务
firewall-cmd --get-services #获取所有支持的服务
#区域相关
firewall-cmd --list-all-zones #查看所有区域信息
firewall-cmd --get-active-zones #查看活动区域信息
firewall-cmd --set-default-zone=public #设置public为默认区域
firewall-cmd --get-default-zone #查看默认区域信息
firewall-cmd --zone=public --add-interface=eth0 #将接口eth0加入区域public
#接口相关
firewall-cmd --zone=public --remove-interface=eth0 #从区域public中删除接口eth0
firewall-cmd --zone=default --change-interface=eth0 #修改接口eth0所属区域为default
firewall-cmd --get-zone-of-interface=eth0 #查看接口eth0所属区域

4、用例
firewall-cmd --query-port=8080/tcp # 查询端口是否开放

firewall-cmd --add-port=80/tcp --permanent #永久添加80端口例外(全局)
firewall-cmd --remove-port=80/tcp --permanent #永久删除80端口例外(全局)
firewall-cmd --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(全局)
firewall-cmd --zone=public --add-port=80/tcp --permanent #永久添加80端口例外(区域public)
firewall-cmd --zone=public --remove-port=80/tcp --permanent #永久删除80端口例外(区域public)
firewall-cmd --zone=public --add-port=65001-65010/tcp --permanent #永久增加65001-65010例外(区域public)

firewall-cmd --reload #重启防火墙(修改配置后要重启防火墙)