标签: java-home

如何检测Java是通过批处理文件中的REGEDIT.exe安装的?

我正在寻找一个批处理文件片段,它以某种方式读取Windows注册表并检测Windows系统上的哪个Java JDK,然后询问用户他们想要使用哪一个并记住该选择.

这是我到目前为止......需要一些修改.这个脚本只找到第一个JDK ......它不处理倍数.

@echo off
SETLOCAL EnableDelayedExpansion
:: findJDK.bat
start /w regedit /e reg1.txt "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit" 
type reg1.txt | find "JavaHome" > reg2.txt 
if errorlevel 1 goto ERROR 
for /f "tokens=2 delims==" %%x in (reg2.txt) do (
  set JavaTemp=%%~x
  echo Regedit: JAVA_HOME path : !JavaTemp!
)
if errorlevel 1 goto ERROR
echo.
set JAVA_HOME=%JavaTemp%
set JAVA_HOME=%JAVA_HOME:\\=\%
echo JAVA_HOME was found to be %JAVA_HOME%
goto END
:ERROR
echo reg1.txt is: & type reg1.txt
echo reg2.txt is: & type reg2.txt …
Run Code Online (Sandbox Code Playgroud)

java registry batch-file java-home

5
推荐指数
1
解决办法
3361
查看次数

在eclipse中设置$ JAVA_HOME但是ANT找不到Java编译器

我将此行添加到/home/{user}/.bashrc文件中:

 export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
Run Code Online (Sandbox Code Playgroud)

但是当我想在eclipse中运行一个ant文件时出现了这个错误:

BUILD FAILED
/home/bakish/Work/new/hadoop-0.20.2/build.xml:316: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib/jvm/java-6-openjdk/jre"
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

谢谢

eclipse ant java-home

5
推荐指数
1
解决办法
1万
查看次数

Jenkins 如何在 Mac 上内部设置 JAVA_HOME?

我有一个有趣的问题。在 Linux 上使用 Jenkins 构建 master,并拥有一个 Mac Mountain Lion 节点(此处描述的内容在 Linux 和 Windows 上运行良好,但仅在这台 Mac 计算机上使用 SSH 连接和 Java Web Start 时出现问题。

在客户端机器上:

  • 我已经安装了 JDK(并验证了它)。
  • 我通过 .profile 为用于与 Jenkins 通信的构建用户设置了 JAVA_HOME 槽
  • Java 可以从 shell 以及 Maven 访问

但 Jenkins 总是在启动作业后设置另一个 JAVA_HOME ($JENKINS_HOME/tools/JDK/jdk1.6),但该文件夹是空的(在 Linux 节点上,应该在该文件夹内部署 JDK,但在 Mac 上则不然)。

有谁知道是否有可能改变詹金斯的这种行为?在 Jenkins 配置中设置自定义 JAVA_HOME 、使用 .profile 文件、在作业中动态导出变量等都没有帮助。

我使用的是最新版本1.477

2012 年 8 月 15 日更新和修复

因此,在 Mac 上运行作业时会出现一行内容:

跳过 JDK 安装:未知的 CPU 名称:mac os x

关键是 Oracle 没有发布适用于 Mac 的 JDK,这是一种“功能”。

我为解决此问题所做的步骤是:

  • 配置 …

java build java-home jenkins osx-mountain-lion

5
推荐指数
1
解决办法
4622
查看次数

如何更正应该指向 JDK 而不是 JRE 文件夹的 JAVA_HOME?

我正在尝试使用 debug 命令在 Ubuntu Linux 上运行 Catalina。我收到以下错误:

JAVA_HOME should point to a JDK in order to run in debug mode.
/bin/sh died with exit status 1
Run Code Online (Sandbox Code Playgroud)

但是,我尝试将 JAVA_HOME 设置.bashrc为以下所有内容:

export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-i386/"
export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-i386"
export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-i386/jre/bin"
export JAVA_HOME="/usr/lib/jvm/java-1.7.0-openjdk-i386/jre/bin/"
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?

java debugging jvm java-home catalina

5
推荐指数
2
解决办法
2万
查看次数

在Windows上启动Zookeeper时,JAVA_HOME设置不正确

我正确地设置了zkServer.cmd在Windows上启动Zookeeper时出现"JAVA_HOME设置错误"错误!当我发出%JAVA_HOME%我得到的C:\Program Files\Java\jdk1.7.0_45是java instalation的正确目录.

我怀疑问题是由于程序文件中的空间,因为当我发出%JAVA_HOME%\bin\java.exe(zkEnv.cmd中使用的命令)时,我得到了:

'C:\Program' is not recognized as an internal or external command, operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

windows command-line environment-variables java-home apache-zookeeper

5
推荐指数
1
解决办法
9112
查看次数

离子Android平台构建失败

每当我尝试在离子上构建我的android平台时,我会被错误表示欢迎,声明我的JAVA_HOME无效,而它指向正确的路径,如下所示.我尝试删除并重新添加平台并重新添加环境变量中的路径,但似乎没有任何效果.我一直试图解决这个错误几天了.请帮忙!

输入:

ionic build android
Run Code Online (Sandbox Code Playgroud)

输出:

[Error: Failed to run "java -version", make sure that you have a JDK installed.
You can get it from: http://www.oracle.com/technetwork/java/javase/downloads.
Your JAVA_HOME is invalid: C:\Program Files\Java\jdk1.7.0_75;
]
ERROR building one of the platforms: Error: C:\myApp\platforms\android\cordova\b
uild.bat: Command failed with exit code 2
You may not have the required environment or OS to build this project
Error: C:\myApp\platforms\android\cordova\build.bat: Command failed with exit co
de 2
    at ChildProcess.whenDone (C:\Users\com\AppData\Roaming\npm\node_modules\cord
ova\node_modules\cordova-lib\src\cordova\superspawn.js:131:23)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:756:16) …
Run Code Online (Sandbox Code Playgroud)

java android java-home hybrid-mobile-app ionic-framework

5
推荐指数
1
解决办法
2902
查看次数

在降级到1.7之后,当我正在进行java -version时,我仍然看到Java 1.8

我将java 1.7从1.8降级,但我仍然看到1.8 java -version.我改变了,pathJAVA_HOME改为1.7作为

JAVA_HOME: C:\Program Files (x86)\Java\jdk1.7.0_79 
PATH:      C:\Program Files(x86)\Java\jdk1.7.0_79\bin
Run Code Online (Sandbox Code Playgroud)

出于某种原因,我在我的道路上也有这个:C:\ProgramData\Oracle\Java\javapath我相信保留这个1.8版本.当我从路径上取下它时,我得到这样的信息:C:\Program Files\Java\jre7\lib\amd64\jvm.cfg.我不知道发生了什么事.任何建议都会非常有帮助.

java windows java-home java-8 jdk1.7

5
推荐指数
1
解决办法
6170
查看次数

如何在 Java 中获取 JAVA_HOME 和 CATALINA_HOME 环境变量?

我需要在 Java 中获取 JAVA_HOME 和 CATALINA_HOME 环境变量的值。我正在运行一个 JAR(不是 WAR)并且在System.getProperties()我只能找到"java.home".

我在这里阅读了一些关于它的其他问题,尝试了它们,但无法使它们起作用 - 我得到了不同的例外或null结果只是价值。

我记得多年前使用JNA做过类似的事情,但那是在 Windows 的 16 位时代。我能找到的最新JNA jar 是 2011 年的,在 intelliJ 工作中运行它,但是当我在 maven 中进行构建时,我会收到关于找不到某些类的错误。

我将继续调查JNA 的方向,很高兴收到任何帮助和/或想法。我认为我只是缺少正确的Maven 依赖项

到目前为止,这是我班级的源代码:

//  C:\devtools\java-external-jars\jna-4.2.2\jna-platform-4.2.2.jar

import com.sun.jna.platform.win32.Advapi32Util;
import com.sun.jna.platform.win32.WinReg;

import java.io.IOException;
import java.io.InputStream;
import java.io.StringWriter;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import java.util.List;
import java.util.prefs.Preferences;

public class WinRegistryHelper {

    public static final String SYSTEM_ENVIRONMENT_KEY_PATH = "SYSTEM\\ControlSet001\\Control\\Session Manager\\Environment"; …
Run Code Online (Sandbox Code Playgroud)

java environment-variables jna java-home

5
推荐指数
1
解决办法
4486
查看次数

动态设置docker容器的JAVA_HOME

我的 docker 容器需要设置 JAVA_HOME。我已将其添加到 Dockerfile 中,如下所示

ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/jre
Run Code Online (Sandbox Code Playgroud)

但是,这是值的硬编码。有没有办法可以从图像本身动态获取这个值

java-home docker dockerfile

5
推荐指数
3
解决办法
1万
查看次数

intellij idea无法创建JVM错误代码-1

我有intellij-idea安装.虽然我已经设置了JAVA_HOME环境变量,引用了"C:\ Program Files\Java\jdk1.8.0_45"但是当我尝试运行它时,我最终得到以下错误:

failed to create JVM: error code -1. JVM path: "C:\Program Files\JetBrains\IntelliJ IDEA 2017.2.2\jre64\" if you have a 64-bit jdk installed, define a JAVA_HOME variable in Computer> system variables> system settings> environment variables.
Run Code Online (Sandbox Code Playgroud)

Windows 7_ 64位

java jvm intellij-idea java-home

5
推荐指数
6
解决办法
2万
查看次数