精华内容
下载资源
问答
  • 一键配置java 一键检测java 环境 安装jdk之后 把配置的3个路径都改下 一键运行即可·······
  • c++检测JAVA环境

    2016-04-17 16:39:48
    于是用MFC来完成检测的工作,然后调用JAVA.exe来启动工具。 本来心想这个方案挺靠谱的。在网上找了一些方案,感觉比较靠谱的是从注册表中的获取JAVA安装路径,然后检查这个路径是否存在。 其间碰到两个比较蛋疼的...

    最近用JAVA的SWING框架写了一个小工具,但由于JAVA在使用前想检查一下用户是否安装了JAVA虚拟机。

    于是用MFC来完成检测的工作,然后调用JAVA.exe来启动工具。


    在网上找了一些方案,感觉比较靠谱的是从注册表中的获取JAVA安装路径,然后检查这个路径是否存在。

    (这年头GOOGLE被墙,程序也只会百度了,如果百度没了,怎么办?)

    其间碰到两个比较蛋疼的事情:

    1、在32位系统上运行正常,在64位上使用RegOpenKeyEx()出错。他会返回一个错误码,现在记不清了。

    查了一下原来第4个参数REGSAM出了问题。


    REGSAM regsam = KEY_QUERY_VALUE ;

    这样能在32位系统上运行。


    REGSAM regsam = KEY_QUERY_VALUE | KEY_WOW64_64KEY;

    这样才能在64位系统上运行。


    后来问题就这样解决了,虽知其然,但不知其所以然,比较悲惧,下次碰到估计又要跪。


    2、一直以为jvm.dll就是放在%java_home%/bin/client/目录中,尼马,装完JDK1.8, JDK1.7,  JDK1.6后神奇的发现%java_home%/bin/server/中也会有jvm.dll存在,具体看你的JAVA或JRE版本,那么多版本,不知道用户会装哪个版本啊。没法,只能找完%java_home%/bin/clinet/目录,再找%java_home%/bin/server/目录。找到了就算有JAVA环境吧。方法比较笨,问题算解决了。不知道有没有高人指点,有更科学的办法。后找了一下,发现JAVA虚拟机的创建会分很多版本,还有一个文件(jvm.cfg)控制。具体创建哪个JAVA虚拟机就看这个文件了。再深入的研究就没有尝试了。

    最后贴上相关代码,方便大家一起交流:

    #include "stdafx.h"
    #include "JavaEnv.h"
    #include "Log.h"
    #include <Windows.h>
    
    // 安全的取得真实系统信息
    VOID SafeGetNativeSystemInfo(__out LPSYSTEM_INFO lpSystemInfo)
    {
    	if (NULL == lpSystemInfo)    return;
    	typedef VOID(WINAPI *LPFN_GetNativeSystemInfo)(LPSYSTEM_INFO lpSystemInfo);
    	LPFN_GetNativeSystemInfo fnGetNativeSystemInfo = (LPFN_GetNativeSystemInfo)GetProcAddress(GetModuleHandle("kernel32"), "GetNativeSystemInfo");;
    	if (NULL != fnGetNativeSystemInfo)
    	{
    		fnGetNativeSystemInfo(lpSystemInfo);
    	}
    	else
    	{
    		GetSystemInfo(lpSystemInfo);
    	}
    }
    
    
    // 获取操作系统位数
    int GetSystemBits()
    {
    	SYSTEM_INFO si;
    	SafeGetNativeSystemInfo(&si);
    	if (si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 ||
    		si.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64)
    	{
    		return 64;
    	}
    	return 32;
    }
    
    char* GetJreHome(int BIT, REGSAM regsam)
    {
    #define MYBUFF 123
    	HKEY hKey;
    	long lRet;
    	CHAR* dir = new CHAR[MYBUFF];
    	DWORD dwBufLen = MYBUFF;
    	CHAR* s = new CHAR[MYBUFF];
    	if (BIT == 64)
    	{
    		strncpy_s(s, MYBUFF, "SOFTWARE\\Wow6432Node\\JavaSoft\\Java Runtime Environment\\", MYBUFF);
    	}
    	else
    	{
    		strncpy_s(s, MYBUFF, "SOFTWARE\\JavaSoft\\Java Runtime Environment\\", MYBUFF);
    	}
    	lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, s, 0, regsam, &hKey);
    
    	if (lRet != ERROR_SUCCESS)
    		return NULL;
    	lRet = RegQueryValueEx(hKey, "CurrentVersion", NULL, NULL, (LPBYTE)dir, &dwBufLen);
    	RegCloseKey(hKey);
    
    	if (lRet != ERROR_SUCCESS)
    		return NULL;
    	strcat_s(s, MYBUFF, dir);
    
    	lRet = RegOpenKeyEx(HKEY_LOCAL_MACHINE, s, 0, regsam, &hKey);
    
    	if (lRet != ERROR_SUCCESS)
    		return NULL;
    	dwBufLen = MYBUFF;
    	lRet = RegQueryValueEx(hKey, "JavaHome", NULL, NULL, (LPBYTE)dir, &dwBufLen);
    	RegCloseKey(hKey);
    	delete s;
    
    	if (lRet != ERROR_SUCCESS)
    		return NULL;
    	return dir;
    }
    
    
    const char* JavaEnv::getJvmPath()
    {
    	const static int PATH_LEN = 512;
    	static char PATH_JVM[PATH_LEN] = { 0 };
    	if (PATH_JVM[0] != 0)
    	{
    		return PATH_JVM;
    	}
    
    #ifdef NDEBUG
    	ILog log;
    #else
    	Log log;
    #endif // NDEBUG
    	ILog* pLog = &log;
    
    	int bit = GetSystemBits();
    	REGSAM regsam = KEY_QUERY_VALUE;
    	if (bit == 64)
    	{
    		regsam |= KEY_WOW64_64KEY;
    	}
    
    	const char* path = GetJreHome(32, regsam);
    	if (path == NULL)
    	{
    		path = GetJreHome(64, regsam);
    		if (path == NULL)
    		{
    			return PATH_JVM;
    		}
    	}
    	const static const char* DIR_JVM[2];
    	DIR_JVM[0] = "bin\\client\\jvm.dll";
    	DIR_JVM[1] = "bin\\server\\jvm.dll";
    	for (int i = 0; i < 2; i++)
    	{
    		int len = strlen(path);
    		char ch = path[len - 1];
    		if (ch == '\\' || ch == '/')
    		{
    			sprintf_s(PATH_JVM, "%s%s", path, DIR_JVM[i]);
    		}
    		else
    		{
    			sprintf_s(PATH_JVM, "%s\\%s", path, DIR_JVM[i]);
    		}
    		fstream file;
    		file.open(PATH_JVM, ios::in);
    		if (!file)
    		{
    			PATH_JVM[0] = 0;
    		}
    		else
    		{
    			file.close();
    			break;
    		}
    	}
    	return PATH_JVM;
    }
    



    展开全文
  • 如何用C#检测Java环境
  • 1.在D盘根目录下新建一个文本文档 HelloWorld.txt 然后将文件格式 txt 改为 java 2.打开HelloWorld.java中编辑内容,保存后退出。 public class HelloWorld{ public static void main(String args[]){ System.out....

    1.在D盘根目录下新建一个文本文档 HelloWorld.txt 然后将文件格式 txt 改为 java
    2.打开HelloWorld.java中编辑内容,保存后退出。

    public class HelloWorld{
    public static void main(String args[]){
    System.out.println("HelloWorld");
    }
    }
    

    3.打开DOS窗口,输入 D: 将路径求换到D盘下,输入 javac HelloWorld.java 生成一个HelloWorld.class 字节码文件 ;最后输入 java HelloWorld 得到运行结果。

    javac HelloWorld.java 生成一个HelloWorld.class 字节码文件
    在这里插入图片描述

    运行结果:
    在这里插入图片描述
    原理:Java源代码先编译后执行。
    在这里插入图片描述总结:通过HelloWorld.java在DOS窗口中的成功运行,既测试了java的运行环境是否可行,又能够了解到一个java源代码的运行过程。

    展开全文
  • 检测到Java SDK 环境-Java环境变量设置-Java开发环境搭建-附件资源
  • 检测到Java SDK 环境-Java环境变量设置-Java开发环境搭建
                   

    首先附上最新的Java JDK 的下载地址: http://pan.baidu.com/s/1dEY5fCt  (jdk_8u101_windows_i586_8.0.1010.13)

    对于Java环境的设置,网上的方法有很多,我只想在这里和大家分享两种比较实用的两种方法。(笔者使用 Win7测试无误)


    第一种,为了方便快捷的配置整个过程,

    这里有集成了一个一键配置的软件给大家,可以省去不必要的时间浪费,上图:


    集成软件下载地址:http://pan.baidu.com/s/1geGkeUR


    第二种,作为初次接触Java的新人,需要一点点学起,这里有配置的每步操作,希望能够帮到你

    打开我们在一开始下载好的jdk文件,如图:


    最好安装在默认的C盘路径,我的是:C:\Program Files (x86)\Java\jdk1.8.0_101\   '一会设置变量将会用到


    一直点击下一步,短暂等待它的安装


    完成了JDK的安装,接下来我进行系统变量PATH的修改

    在"计算机" 单机右键 ---属性---高级系统设置---环境变量



    在弹窗中找到系统变量,新建变量"JAVA_HOME" 变量值是我们之前的JDK安装地址

    C:\Program Files (x86)\Java\jdk1.8.0_101


    再次新建变量 "CLASSPATH" 变量值复制引号内的 " :./;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar "


    最后一步更改系统变量 "PATH"  添加变量值引号里的 " ;%JAVA_HOME%/bin; " 到原变量值的最后


    点击确定完成了所有的设置。


    如何验证是否设置成功,可以Win+R进入CMD  输入JAVAC


    如果可以弹出如下的信息那么就是完成了JAVA的环境设置。



    好啦,讲解到此结束。如您遇到什么问题欢迎留言~



               
    展开全文
  • java环境变量设置检测器(文件小,操作简单)
  • 搭配java环境变量时,无需在CMD窗口执行命令检测是否配置成功,用这个工具一步就可以检测出来了。
  • PAGE / NUMPAGES win7配置java环境变量以及检测 (2011-04-14 16:46:09)转载 标签 环境变量 系统变量 源文件 根目录 路径 it 分类 J2EE 当然前提是你已经安装了JDK 用鼠标右击我的电脑->属性->高级->环境变量;...
  • Java环境配置与检测

    2019-10-21 14:12:25
    Java环境配置与检测 1.​ 从Oracle网站上下载JDK,然后安装JDK。(注意自己Windows版本x32位不能安装x64) 配置环境变量: JAVA_HOME:指向JDK安装后的根目录,IDE​就是通过搜索JAVA_HOME变量来找到并使用安装好...

    Java的环境配置与检测

    1.​ 从Oracle网站上下载JDK,然后安装JDK。(注意自己Windows版本x32位不能安装x64)

    1. 配置环境变量:

    JAVA_HOME:指向JDK安装后的根目录,IDE​就是通过搜索JAVA_HOME变量来找到并使用安装好的JDK。
    Path:为使用Java开发工具,可将Java命令(如javac.exe,java.exe等)所在目录设置到Path搜索路径中。值为多个文件夹路径,不同文件夹路径间用分号( ; “美式键盘”)隔开,以配置Java环境来说,Path中加入“JDK安装后的根目录下的bin目录路径”。
    classpath:类路径环境变量。classpath环境变量的作用是指定类搜索路径,要使用已经编好的类,就需要通过classpath来找到它们,JVM(java虚拟机)就是通过classpath来寻找类 .class 文件。classpath中需要加入jar文件路径。
    ​(一般情况下,装好JDK之后,配JAVA_HOME和Path就行了,classpath可选)

    1. win10​​的环境变量配置:打开控制面板 > 系统和安全 > 系统 > 左侧控制面板主页 > 高级系统设置 > g高级 > 环境变量 > (按照 2. 进行新建,JDK一般默认安装在" C:\Program Files\Java\jdk1.8.0_221 ")

    2. 测试环境变量配置: 打开cmd ,键入javac和java,回车,出现命令的使用帮助,表示配置成功,如果出现“不是内部或外部命令,也不是可运行的程序处理文件”则表示环境配置出现问题。

    展开全文
  • java环境变量 配置

    2018-04-02 15:29:00
    如何检测java环境变量是否配置正确:http://jingyan.baidu.com/article/09ea3ede0304eec0afde3964.html 配置JAVA的环境变量:https://jingyan.baidu.com/article/fd8044fa2c22f15031137a2a.html 转载于:...
  • 已经安装了 jdk ,并且设置好了 java 环境变量,CMD 运行 java 或 javac 都正常,其他依赖 jdk 的应用程序都能正常运行。但是在运行 jd-gui 1.1.0 的时候,出现错误提示: This application requires Java Runtime ...
  • 自动配置java的jdk文件以及检测java配置如何,大多数都能成功,如果配置失败,就多在网上看看吧,我实在是凑不够50个字了,
  • - name: 检测java环境是否存在 shell: "java -version" register: result ignore_errors: True 2.2 when fail - name: 检测java环境是否存在 fail: msg="java环境不存在,中断操作" when: result_1.r
  • (1)JAVA 环境变量的基本配置  path:;C:\Program Files\Java\jdk1.6.0_18\bin(注此处开头需要添加分号)  classpath: .;C:\Program Files\Java\jdk1.6.0_18\lib;C:\Program Files\Java\jdk1.6.0_18\lib\tools....
  • (如果输入java -version无反应,可以输入java.exe -version) 出现如下界面 jdk安装成功后即可打开eclipse码代码了 p.s.若jdk安装成功,但是打开eclipse时出现"An Error has Occurred....
  • Java环境搭建

    2019-03-31 00:04:30
    Java环境搭建 本案适用于初次接触Java的编程学习者 作为新手,欢迎大家批评建议 Java环境搭建 在进行Java开发前,最重要的就是获取并安装JDK也即搭建Java开发环境。 Java官方网站链接附下: 链接:link 进入...
  • JAV环境变量检测

    2014-08-06 00:11:55
    可自动检测JAVA环境变量设置是否成功,祝各位朋友使用愉快
  • Android Killer设置JAVA SDK环境配置里选中JAVA SDK目录中的bin目录
  • //来自spark源码//sparkContext初始化的时候写着 private def warnDeprecatedVersions(): Unit = { ... val javaVersion = System.getProperty("java.version").split("[+.\\-]+", 3) if (javaVersion.length &...
  • VSCode搭建Java环境

    2020-12-20 21:41:12
    Java环境搭建完毕(jdk11及以上比较好) 检测Java搭建是否成功:打开cmd窗口输入命令: java -version 看是否能成功显示java的版本号。 搭建环境步骤: VSCode中点击Extension,搜索java,安装如图所示Java ...
  • 1、下载jdk,http://www.oracle.com/technetwork/java/javase/downloads/jdk10-downloads-4416644.html  (先勾选Accept License Agreement,再点击下载jdk-10.0.1_windows-x64_bin.exe    2、安装jdk选择安装...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,333
精华内容 933
关键字:

检测java环境

java 订阅