Mac笔记本idea打包maven工程,本地环境运行正常,打包成功,却启动不成功

简介: Mac笔记本idea打包maven工程,本地环境运行正常,打包成功,却启动不成功

记录一下:

  1. Mac笔记本使用idea打包maven工程,
  2. 本地环境运行正常,打包成功,却启动不成功;
  3. window打包成功且启动正常;
  4. 查询启动错误日志是由于zookeeper null指针的问题,但是zookeeper启动且无问题,初步怀疑是由于循环依赖的问题,但是这个问题一直排查了很久,打断点,底层源码都没有很好的答案!

但是后来发现,mac 打包后用jar解压再重新打包即可正常启动!

现在记录一下写的一个shell脚本:

#!/usr/bin/env bash
echo "===========================开始执行脚本==========================="
# dirname $0,取得当前执行的脚本文件的父目录
basepath=$(cd `dirname $0`; pwd)
# 打印当前路径
currentPath=$(pwd)
echo "当前文件夹路径: $currentPath"
# 设置变量
folder="$currentPath/tongdsp.manager-3.1.0/lib/"
tongdsp="$currentPath/tongdsp.manager-3.1.0/"
newFolder="$currentPath/tongdsp.manager-3.1.0/lib/temp/"
oldFolder="$currentPath/tongdsp.manager-3.1.0/lib/tongdsp-environment-3.1.0.jar"
# 设置权限
chmod +x run.sh
echo "++++++++++++++++ 第一步:解压tongdsp.manager-3.1.0.tar.gz +++++++++++++++"
cd $currentPath/
# 判断tongdsp.manager-3.1.0文件夹是否存在,存在则删除
if [ -d "$tongdsp" ]; then
  rm -rf "$tongdsp"
fi
tar -zxvf tongdsp.manager-3.1.0.tar.gz
rm -f tongdsp.manager-3.1.0.tar.gz
echo "++++++++++++++++ 第二步:新建temp文件夹,并复制tongdsp-environment-3.1.0.jar至temp文件夹 +++++++++++++++"
cd "$folder"
# 判断temp文件夹是否存在,不存在则创建
if [ ! -d "$newFolder" ]; then
  mkdir -p "$newFolder"
fi
# 判断tongdsp-environment-3.1.0.jar是否存在,存在则复制至temp
if [ -f "$oldFolder" ]; then
  cp -r "$oldFolder" "$newFolder"
fi
# 判断tongdsp-environment-3.1.0.jar是否存在,存在则删除
if [ -d "$oldFolder" ]; then
  rm -f "$oldFolder"
fi
echo "++++++++++++++++ 第三步:对tongdsp-environment-3.1.0.jar解压操作,并更新至temp上一层目录 +++++++++++++++"
cd "$newFolder"
jar -xvf tongdsp-environment-3.1.0.jar
rm -f tongdsp-environment-3.1.0.jar
jar -cf tongdsp-environment-3.1.0.jar ./
cp -r tongdsp-environment-3.1.0.jar ../
echo "++++++++++++++++ 第四步:重新打包tongdsp.manager-3.1.0.tar.gz +++++++++++++++"
cd ../
rm -rf "$newFolder"
cd ../../
tar -zcvf tongdsp.manager-3.1.0.tar.gz tongdsp.manager-3.1.0
if [ -d "$tongdsp" ]; then
  rm -rf "$tongdsp"
fi
echo "===========================执行脚本成功==========================="
相关文章
|
21天前
|
Java 应用服务中间件 Maven
Maven的三种项目打包方式——pom,jar,war的区别
Maven 提供了多种打包方式,分别适用于不同类型的项目。pom 用于父项目或聚合项目,便于项目的结构和依赖管理;jar 用于Java类库或可执行的Java应用程序;war 则专用于Java Web应用程序的部署。理解这些打包方式的用途和特点,可以帮助开发者更好地配置和管理Maven项目,确保构建和部署过程的顺利进行。无论是单模块项目还是多模块项目,选择合适的打包方式对于项目的成功至关重要。
59 3
|
1月前
|
Java Maven Android开发
【Azure Developer】VS Code打包Java maven Project 遇见 BUILD FAILURE
Unknown lifecycle phase "lean". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>
|
2月前
|
缓存 IDE Java
idea的maven项目打包时没有source下的文件
【10月更文挑战第21天】idea的maven项目打包时没有source下的文件
55 1
|
2月前
|
Java 应用服务中间件 Maven
【终极解决方案】IDEA maven 项目修改代码不生效。
【终极解决方案】IDEA maven 项目修改代码不生效。
400 1
|
2月前
|
Java Linux Maven
IDEA如何用maven打包(界面和命令两种方式)
【10月更文挑战第14天】本文介绍了两种Maven项目打包方法:命令行与IDEA界面。首先确保已安装Maven并配置环境变量,通过`mvn -v`检查安装。命令行打包需进入项目目录,执行`mvn package`,之后在`target`目录查看结果。IDEA打包则需配置Maven路径,打开Maven Projects窗口,双击Lifecycle下的`package`阶段,同样在`target`目录查找生成文件,并在Build窗口查看日志以排查问题。
914 1
|
2月前
|
PyTorch TensorFlow 算法框架/工具
手把手教你-MAC笔记本安装Pytorch环境
手把手教你-MAC笔记本安装Pytorch环境
67 0
|
2月前
|
Java 应用服务中间件 Maven
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
SpringBoot Maven 项目打包的艺术--主清单属性缺失与NoClassDefFoundError的优雅解决方案
337 0
|
3月前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
1月前
|
开发工具 iOS开发 开发者
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在 Mac 上安装 DevEco Studio
本篇将专注于如何在 Mac 上安装鸿蒙开发工具 DevEco Studio,确保开发环境能够顺利搭建。完成安装后,可以正式开始鸿蒙应用的开发工作。
79 1
「Mac畅玩鸿蒙与硬件2」鸿蒙开发环境配置篇2 - 在 Mac 上安装 DevEco Studio
|
2月前
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
73 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda

推荐镜像

更多