2023-01-20 262
我有一个二进制文件,可以通过JNI呼唤Java.我将Class Path设置为Syedir/*以拾取某种程度的所有罐子.
当我运行二进制文件时,找不到所需的类定义.当我运行
时
java that.class's.name
从同一命令行中,该类成功找到.如果我将某种程度的所有罐子明确地添加到classPath中,一切都很好,但是我想避免使用非常 long class Pather.
通过JNI执行了JNI荣誉公寓的通配符扩展吗?可以这样做吗?
我通过阅读热点源代码来找出答案.
仅通过CLASSPATH或-cp/-classpath传递的路径受到通配符的扩展.然后将这些作为系统属性通过-Djava.class.path.
您通过A JVMOptions结构告诉JNI-Invoked JVM关于class Path,其中可能包括-Djava.class.path,但是-classpath -classpath不一定是 的荣誉(实际上,不是,不是由热点实现).由于java.class.path直接作为系统属性直接传递给JVM,因此它不会扩大通配符,因此通配符无法正常工作.
否.不,它不能.使用JNI无济于事.
您这样做的方法是通过实现自己的类加载程序(在Java中),但是该类加载程序必须在不通配符的classpath中.
当然,您可以在调用JVM之前将class路径设置为其扩展的表格.那将起作用,可以通过shell脚本完成(不需要JNI).
以上所述是小编给大家介绍的可以制定JNI以纪念Class Path中的通配符扩展吗?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/26139.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态