bash - 无法从 bash 脚本访问 mvn 命令

标签 bash maven

我想运行以下脚本:

bash ./scripts/startapp.sh

这是脚本:

#!/bin/bash
str=$HOSTNAME
PREV_IFS=$IFS
IFS=. components=(${str})
ORIGINAL_DIRECTORY=`pwd`
REP_DIRECTORY=$ORIGINAL_DIRECTORY/src/main/resources
for part in "${components[@]}"
do
  PATH=$REP_DIRECTORY/"$part"
  REP_DIRECTORY=$PATH
done
IFS=$PREV_IFS
CONFIG_PATH=$REP_DIRECTORY/application.yaml
# Below is the final command I want to run from the terminal
`SPRING_CONFIG_LOCATION=$CONFIG_PATH mvn spring-boot:run`

我正在获取

mvn: command not found

无需启动脚本,我可以使用 mvn spring-boot:run 没有任何问题。

最佳答案

确保您已定义:

  • M2_HOME 指向 Maven 安装的基本目录

  • PATH 必须包含 $M2_HOME/bin

在您的脚本中,您将在每次迭代时覆盖 PATH 的值。您应该将其更改为:

PATH=$PATH:$REP_DIRECTORY/"$part"

关于bash - 无法从 bash 脚本访问 mvn 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34751537/

相关文章:

regex - 使用 GREP 和 AWK 从文件中提取子字符串的值

linux - 使用常见的 linux 工具检查一组 ip 地址是否属于给定网络的最简单方法是什么?

linux - Bash 脚本 (awk-sed-grep) 检查下一行中的数字是否比上一行多 1

java - 在 Maven 构建过程中,我应该如何配置 Eclipse 以针对不同的 Maven 阶段使用不同的环境变量值?

android - 使用 gradle 将 android 库发布到 nexus

c++ - QMake - 如何在每次构建后添加构建后步骤

linux - 测量程序的网络流量总量

Java Maven 项目构建失败

java - 无法使用 Hibernate Spatial 将点插入 mysql 数据库

java - 无法从资源目录加载属性文件