【问题标题】:Set JAVA_HOME and MAVEN_HOME using .bat file使用 .bat 文件设置 JAVA_HOME 和 MAVEN_HOME
【发布时间】:2020-05-27 13:59:46
【问题描述】:

我创建了一个 .bat 文件来设置 maven home 和 java home:

@echo off
@setlocal

SETX /M JAVA_HOME $."/Java/jdk1.8.0_181"
echo %JAVA_HOME%
set PATH=%JAVA_HOME%\bin;%PATH%

SET MAVEN_HOME=$."/apache-maven-3.6.3"
echo %MAVEN_HOME%
set PATH=%MAVEN_HOME%\bin;%PATH%

java -jar .\RestCallAutomation.jar

但它总是向我显示此错误:

RÉUSSITE : la valeur spécifiée a été enregistrée.
"/Java/jdk1.8.0_181"
"/apache-maven-3.6.3"
'java' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

【问题讨论】:

  • 您是否尝试过指定 java 和 maven 目录的完整路径?
  • @JakobF 不,我需要减少路径,因为我正在创建一个 bat 文件来在任何桌面上运行此应用程序!(即:我有一个包含 java 和 maven 的文件夹,所以我需要设置使用 .bat 文件的 maven 和 java 主页)
  • 如果文件夹相对于 bat 文件始终位于同一位置,您可以使用 %~dp0 获取 bat 文件的路径并从那里导航到文件夹。
  • 注意Windows路径分隔符是\ 而不是/!
  • 要运行应用程序,您不需要设置 MAVEN_HOME。只有 JAVA_HOME 有意义...

标签: java maven batch-file java-home


【解决方案1】:

测试这个:%cd% 获取当前路径(它的工作方式类似于 linux 中的pwd):

set JAVA_HOME=%cd%\Java\jdk1.8.0_181
echo %JAVA_HOME%
set PATH=%JAVA_HOME%\bin;%PATH%

SET MAVEN_HOME=%cd%\apache-maven-3.6.3
echo %MAVEN_HOME%
set PATH=%MAVEN_HOME%\bin;%PATH%

【讨论】:

  • 请注意,这取决于调用者的位置,而不是 bat 文件的位置。
  • 是的,她已经在 cmets 中提到,bat 文件、她的 jar、java 和 maven 都在同一个文件夹中
猜你喜欢
  • 2019-09-16
  • 2016-03-05
  • 1970-01-01
  • 2013-12-11
  • 2013-03-20
  • 2021-04-16
  • 1970-01-01
  • 2012-06-25
  • 1970-01-01
相关资源
最近更新 更多