【问题标题】:Setting up Environment Variables for MAVEN in Linux在 Linux 中为 MAVEN 设置环境变量
【发布时间】:2015-08-07 19:47:25
【问题描述】:

我在我的项目中使用 Maven,我需要在我的系统中设置环境变量以使其工作。我已经为 maven 设置了环境变量,但它也需要设置 Java 环境变量。我正在通过远程服务器通过 Putty 访问 Linux。

我尝试设置JAVA_HOME 环境变量,但执行mvn -version 时出现此错误:

/home/z222189/apache-maven-3.2.1/bin/mvn: line 190:  
/home/z222189/jdk1.8.0_31/bin/java: cannot execute binary file  
/home/z222189/apache-maven-3.2.1/bin/mvn: line 190:  
/home/z222189/jdk1.8.0_31/bin/java: Success

`+ '[' -z '' ']'
+ '[' -f /etc/mavenrc ']'
+ '[' -f /home/z222189/.mavenrc ']'
+ cygwin=false
+ darwin=false
+ mingw=false
+ case "`uname`" in
++ uname
+ '[' -z /home/z222189/jdk1.8.0_31 ']'
+ '[' -z /home/z222189/apache-maven-3.2.1 ']'
+ false
+ false
+ '[' -z /home/z222189/jdk1.8.0_31 ']'
+ '[' -z '' ']'
+ '[' -n /home/z222189/jdk1.8.0_31 ']'
+ '[' -x /home/z222189/jdk1.8.0_31/jre/sh/java ']'
+ JAVACMD=/home/z222189/jdk1.8.0_31/bin/java
+ '[' '!' -x /home/z222189/jdk1.8.0_31/bin/java ']'
+ '[' -z /home/z222189/jdk1.8.0_31 ']'
+ CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher
+ false
+ MAVEN_CMD_LINE_ARGS=-version
+ export MAVEN_CMD_LINE_ARGS
+ exec /home/z222189/jdk1.8.0_31/bin/java -classpath /home/z222189/apache-maven-3.2.1/boot/plexus-classworlds-2.5.1.jar -Dclassworlds.conf=/home/z222189/apache-maven-3.2.1/bin/m2.conf -Dmaven.home=/home/z222189/apache-maven-3.2.1 org.codehaus.plexus.classworlds.launcher.Launcher -version
/home/z222189/apache-maven-3.2.1/bin/mvn: line 190: /home/z222189/jdk1.8.0_31/bin/java: cannot execute binary file
/home/z222189/apache-maven-3.2.1/bin/mvn: line 190: /home/z222189/jdk1.8.0_31/bin/java: Success`

这是我使用 bash -x mvn -version 时遇到的错误

【问题讨论】:

  • mvn 文件中的第 190 行是:`exec "$JAVACMD" `
  • 尝试使用调试开关运行它bash -x mvn -version
  • @Yuri 遇到同样的错误
  • 你能发布bash -x mvn -version的输出吗
  • 请在问题正文中发布bash -x mvn -version 的输出。看起来 bash 无法执行 java 的二进制文件。你能跑/home/z222189/jdk1.8.0_31/bin/java -version

标签: java maven environment-variables putty remote-server


【解决方案1】:

您将二进制文件(Windows 可执行文件)复制到 linux 目录,并可能将该位置设置为环境变量。

这就是您收到错误的原因。无法执行二进制文件。

下载 tar.gz 文件并解压缩,然后使用 putty 将该文件复制到 linux 目录,并将该路径设置为环境。

【讨论】: