0 0

C++ 调用jar包 找不到类5

最近有个任务,需要用C++调用jar包里面的类,但是发现找不到类。

希望大神们可以帮忙分析一下。

以下是初始化JVM虚拟机的,在classpath上,把tools.jar,dt.jar,rt.jar 都包含进去了

        options[0].optionString = "-Djava.compiler=NONE"; 
	options[1].optionString = "-Djava.class.path=./my.jar;D:\\Program Files\\Java\\jdk1.6.0_31\\lib\\tools.jar;D:\\Program Files\\Java\\jdk1.6.0_31\\lib\\dt.jar;D:\\Program Files\\Java\\jdk1.6.0_31\\jre\\lib\\rt.jar";
	options[2].optionString = "-verbose:jni";	//用于跟踪运行时的信息

	memset(&vm_args, 0, sizeof(vm_args));
	vm_args.version = JNI_VERSION_1_6;
	vm_args.nOptions = 1;
	vm_args.options = options;
	status = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);

 

 之后就是需找类

	test = env->FindClass("java/lang/String");
	item = env->FindClass("jm/item");

 其中路径的设置是这样的my.jar在工程目录下,和main.cpp 是同一级

my.jar解压缩到当前目录 有文件夹jm 里面是item.class

test可以有正确的返回值,但是item不行

如下图:

 item无法返回值。

还望各位大神解惑,拜谢不已。。。。。。

2014年3月02日 01:56
  • 大小: 198.8 KB
目前还没有答案

相关推荐

    java调用C或者C++动态库dll测试jar包和测试dll

    首先,`java调用C或者C++动态库dll测试jar包和测试dll`的标题表明我们正在探讨如何使用Java调用C或C++编译的DLL文件。DLL是Windows操作系统中的动态链接库文件,它包含可由多个程序同时使用的函数和资源。Java本身并...

    java使用(jna)调用c/c++第三方动态库 dll文件 所用jar包

    - **添加依赖**:首先,需要将JNA库和平台特定的库(如jna.jar和jna-platform.jar)添加到项目类路径中。在现代的Maven或Gradle项目中,可以通过配置依赖管理来实现。 - **定义接口**:创建一个Java接口,该接口...

    java调用dll必备jar包

    本文将详细介绍如何使用Java调用DLL以及所需的必备jar包。 首先,Java并不直接支持DLL的调用,因为它是一个跨平台的语言,而DLL是Windows操作系统特有的。为了实现Java与DLL之间的交互,我们需要借助于第三方库。在...

    jni开发及jar包生成调用

    本篇文章将深入探讨JNI的开发过程以及如何生成和调用jar包。 首先,我们需要了解JNI的基本概念。JNI是Java平台提供的一种接口,让Java程序能够与本地(非Java)代码进行通信。在JNI的帮助下,开发者可以编写C/C++...

    json_jar包

    "直接导入不用修改其他东西,直接可以使用"意味着开发者已经处理好了所有必要的配置,用户只需要将这个json_jar包添加到项目的类路径中,就可以立即开始使用其提供的JSON功能,无需进行任何额外的代码调整或设置。...

    自动打包.java文件成.jar的小程序(C++)

    在C++程序中,需要注意处理可能出现的错误,例如文件找不到、编译失败等。同时,确保正确设置javac和jar命令的路径,因为它们可能不在系统的PATH环境变量中。 最后,压缩包中的"forjava"可能包含了用于演示或测试的...

    Android 打包包含jni代码jar包

    确保在运行时没有出现找不到符号或链接错误。 7. **注意事项** - 为了确保兼容性,需要为所有目标设备架构提供对应的.so文件。 - 注意处理内存管理和线程同步,因为JNI代码中没有Java自动垃圾回收机制。 - 调试...

    android application framework api源码包含jni的c,c++库,api和android.jar包对应

    虽然`android.jar`中的类大部分是不可执行的,因为它们实际上是接口,真正的实现存在于系统运行时环境中。但是,分析`android.jar`源码可以帮助理解API的设计思路和使用方式。 在压缩包的`core`子目录中,可能包含...

    电信采信项目源码和依赖jar包

    在实际操作时,需要确保所有依赖的jar包都已经在正确的路径下,否则可能会遇到“找不到类”或“类冲突”等问题。 总的来说,"电信采信项目源码和依赖jar包"是一个关于电信数据采集的Java项目,包含代码初稿和运行所...

    Java类中调用dll的步骤及jar包

    本文将详细阐述在Java类中调用dll的步骤以及涉及到的jar包。 首先,Java调用dll主要依赖于Java本地接口(Java Native Interface, JNI)。JNI允许Java代码与本地代码(如C++或C)进行交互。为了在Java中使用dll,你...

    黑马Nacos jar包分析

    3. **Spring Boot框架**:Nacos基于Spring Boot构建,因此`spring-boot-starter-*`系列的jar包不可或缺,它们提供了自动配置、Web支持等功能。 4. **Netty通信框架**:Nacos使用Netty作为网络通信层,提供高效率、...

    C++操作MYSQL库类JDBC

    1. **连接管理**:C++库可能包含一个`Connection`类,负责建立、管理和关闭到MySQL服务器的连接。它可能需要数据库的URL、用户名、密码以及可能的连接属性。 2. **SQL语句执行**:`Statement`类可能是用于执行SQL...

    opencv用到的jar包

    4. **配置环境**:在Java项目中使用OpenCV,首先需要将这些jar包添加到项目的类路径(ClassPath)中,这可以通过IDE(如Eclipse或IntelliJ IDEA)的设置来完成。在命令行环境中,可以使用`java -cp`参数指定类路径。...

    JNA方式实现Java调用dll的必用jar包

    JNA提供了一种简单的方式来调用C函数和其他本地库,使得Java开发者能够利用本地系统的功能,比如操作系统APIs,硬件接口等,而无需深入到C/C++的世界。 标题"JNA方式实现Java调用dll的必用jar包"指的是使用JNA库来...

    JNative Java调用动态链接库jar包

    3. **方法映射**:JNative内部会将Java的native方法名转换为符合C/C++的函数调用约定的名称,实现Java方法与本地函数的映射。 4. **参数传递**:JNative处理Java对象到C/C++数据类型的转换,确保参数能正确传递给...

    Java调用dll文件开源组件jar包及说明文档

    - 错误处理:在实际应用中,应处理可能的JNI调用错误,如找不到符号、类型不匹配等。 总结来说,`JNative-1.3.2`是Java调用DLL和SO文件的利器,通过JNI接口,它消除了Java与本地代码之间的障碍,使得开发者可以...

    opencv javajar包.zip

    引入这个jar包到Java项目中,开发者就可以在Java代码中直接使用OpenCV的函数和类。 在Windows环境下,dll文件是必不可少的,因为OpenCV的一些功能需要这些动态链接库才能正常运行。这些dll文件需要放在系统路径或者...

    jna和examples的jar包

    不规则形状的 JFrame 则可能涉及到了图形绘制和剪裁,JNA 可以调用图形库函数来实现非矩形窗口。 总之,JNA 是 Java 平台上一个强大的本地访问工具,通过它可以轻松地将 Java 应用程序与操作系统底层功能相结合,而...

    jna-3.2.5.jar包

    然而,JNI的学习曲线陡峭,且需要编写C或C++代码,对于许多开发者来说并不友好。为了解决这一问题,Java社区推出了一个名为Java Native Access(JNA)的库,其中"jna-3.2.5.jar"是该库的一个版本。本文将深入探讨JNA...

    pb协议3.1nano jar包和exe文件及使用说明

    3. 集成库:将`protobuf-javanano-3.1.0.jar`添加到Java项目的类路径中。 4. 使用生成的代码:在Java代码中,通过生成的类来创建、序列化和反序列化PB消息。 5. 通信:通过网络或其他方式发送和接收序列化的PB消息...

Global site tag (gtag.js) - Google Analytics