java逻辑错误_java代码评审

java逻辑错误_java代码评审测试文件:hello-jni/src/com/example/hellojni/HelloJni.java/***该文件来自AndroidNDKSample-HelloJni,为了便于说明问题,我作了一些修改。*/packagecom.example.hellojni;publicclassHelloJni{publicnativeStringstringFromJNI…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

测试文件:hello-jni/src/com/example/hellojni/HelloJni.java

/**

* 该文件来自 Android NDK Sample – HelloJni, 为了便于说明问题,我作了一些修改。

*/

package com.example.hellojni;

public class HelloJni

{

public native String stringFromJNI();

public native String unimplementedStringFromJNI();

static {

System.loadLibrary(“hello-jni”);

}

}

错误一

david@xmomx:hellojni$ javac HelloJni.java

david@xmomx:hellojni$ ls

Hello.class Hello.h Hello.java HelloJni.class HelloJni.java

david@xmomx:hellojni$ javah -jni HelloJni

error: cannot access HelloJni

bad class file: ./HelloJni.class

class file contains wrong class: com.example.hellojni.HelloJni

Please remove or make sure it appears in the correct subdirectory of the classpath.

com.sun.tools.javac.util.Abort

at com.sun.tools.javac.comp.Check.completionError(Check.java:164)

at com.sun.tools.javadoc.DocEnv.loadClass(DocEnv.java:149)

at com.sun.tools.javadoc.RootDocImpl.(RootDocImpl.java:77)

at com.sun.tools.javadoc.JavadocTool.getRootDocImpl(JavadocTool.java:159)

at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:330)

at com.sun.tools.javadoc.Start.begin(Start.java:128)

at com.sun.tools.javadoc.Main.execute(Main.java:66)

at com.sun.tools.javah.Main.main(Main.java:147)

javadoc: error – fatal error

2 errors

错误原因,没有在正确的路径下执行 javah 命令,应该在源码根目录下执行。

错误二:

david@xmomx:hellojni$ cd ../../../

david@xmomx:src$ ls

com

david@xmomx:src$ javah -jni HelloJni

error: cannot access HelloJni

class file for HelloJni not found

javadoc: error – Class HelloJni not found.

Error: No classes were specified on the command line. Try -help.

错误原因:Classes 参数要使用完整类名,也就是说要加上包名

错误四:

david@xmomx:src$ javah -jni com/example/hellojni/HelloJni

javadoc: error – Illegal package name: “com/example/hellojni/HelloJni”

1 error

错误原因:完整类名格式错误

david@xmomx:src$ javah -jni com.example.hellojni.HelloJni

OK,编译通过。

如果还有错误,说是类找不到还是什么的,请尝试添加 -classpath . 参数。如下:

david@xmomx:src$ javah -jni -classpath . com.example.hellojni.HelloJni

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/189915.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 程序员要不要去外包外派公司上班_程序员去外包是不是就废了

    程序员要不要去外包外派公司上班_程序员去外包是不是就废了总结一下外包外派公司的特点,要不要去,你自然就知道了。1.不管是外包还是外派,你的工作地点都不会固定的。都会去甲方的公司去工作,这个项目完事了,你就换到另一个甲方,另一个工作地方了。需要出差,需要驻场等等,工作场所非常不固定。2.面试的时候各种承诺,转正的时候,各种克扣。3.五险一金不会给你按照基本工资交,而是按照最低工资标准交。4.技术方面,可能会让你弄很多你不熟悉的技…

  • Mybatis 拦截器简述[通俗易懂]

    Mybatis 拦截器简述[通俗易懂]一、Mybatis拦截器可以做到什么慢查询,SQL异常监控数据预处理(加密,自生成字段)数据脱敏数据权限过滤二、MybatisSQL执行流程这里重点关注InterceptorChain,它会为Mybatis的四大对象织入代理。我们自定义生成的拦截器也将通过InterceptorChain织入。三、Mybatis拦截器使用方式拦截粒度为方法签名自定义拦截器需使用@Intercepts和@Signature注解来指定拦截类和方法。例如拦截Exceptor的query和update

  • VS2008序列号_苹果序列号过期什么意思

    VS2008序列号_苹果序列号过期什么意思转自:http://lanmaodream.blog.163.com/blog/static/212569007201291874945494/今天打开VS2008突然弹出图如下:为什么会出现上图这种情况呢?嘿嘿,咱使用的是试用版本哦!!!我的是Win7系统,其实各个系统都一样!不过在要输入序列号时,你会发现没有地方可以输入,这时你需要给VS2008打个补丁!!!打

  • JSONArray与JSONObject

    JSONArray与JSONObject1,JSONObject json对象,就是一个键对应一个值,使用的是大括号{},如:{key:value}2,JSONArray json数组,使用中括号[],只不过数组里面的项也是json键值对格式的 Json对象中添加的是键值对,JSONArray中添加的是Json对象JSONObject Json = new JSONObject();  JSONArray JsonArray =…

  • kafka详细教程_kafka使用教程

    kafka详细教程_kafka使用教程MessageQueue消息传送系统提供传送服务。消息传送依赖于大量支持组件,这些组件负责处理连接服务、消息的路由和传送、持久性、安全性以及日志记录。消息服务器可以使用一个或多个代理实例。JMS(JavaMessagingService)是Java平台上有关面向消息中间件(MOM)的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发,翻译为Java消息服务。

    2022年10月17日
  • linux环境安装python3

    linux环境安装python3最近小编对python产生了兴趣,并申请了腾讯云,自己想搭建一下python3的环境,根据readme文件步骤是这样的:                步骤一:./configure        步骤二:make        步骤三:make test        步骤四:sudo make install     然并卵,理想很丰满,现实很骨感,自己还是遇到

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号