java调用c修改环境变量

本文介绍了如何在Java程序中通过调用C语言实现修改环境变量的步骤,包括创建Java本地方法、生成头文件、编写C++源代码、编译生成SO库以及在Java项目中安全地使用这些库。
摘要由CSDN通过智能技术生成

java调用c修改环境变量


前言

由于java可以直接在代码里修改系统变量,但是无法修改环境环境变量,因为当一个环境变量是进程启动前设置的,所有使用runtime来执行一些语句相当于是起了一个新进程,对于原有的进程没有任何效果,当runtime执行完毕后,新启动的进程结束,设置的环境变量仅仅对runtime进程有效果。因为c中有setenv和getenv函数,java中只有getenv的方法,故而需使用调用c的方式;

兄弟们~,come on 正文开始!!!!


提示:以下是本篇文章正文内容,下面案例可供参考

使用步骤

1.新建一个类,里面包含你需要调用c的一些方法,注意这些方法必须要本地方法
代码如下(示例):

public class ChangeEnv {
   
	public native void setEnv(String name,String value,int replace);
}

2.使用java为该类生成一个头类文件,用于cpp文件的一个声明,一般在maven或springboot项目下的java文件夹执行
代码如下(示例):

javah com.alibaba.jl.env.ChangeEnv

3.编写com_alibaba_jl_env_ChangeEnv.cpp文件

#include "com.alibaba.jl.env.ChangeEnv.h"
#include <stdio.h>
#include <stdlib.h>
JNIEXPORT void JNICALL java_com_alibaba_jl_env_ChangeEnv_setEnv(JNIEnv * env, jobject obj,jstring name
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值