weidongjpbr
weidongjpbr
2009-01-13 13:07
浏览 270
已采纳

jni 运行时出错

昨天照一高手所说配置了路径终于能生成DLL了

可是运行时报错 不知道为什么 各位帮忙看下

[img]http://www.iteye.com/upload/attachment/68443/2a160312-e739-3231-a3dd-45be0b71380c.jpg[/img]
[b]问题补充:[/b]
谢谢一楼的回答

我这是绑的C语言程序 不是C++ 所以没有PUBLIC这些

谢谢二楼回答

我确实是JDK1.6 也是1.6生成的 运行的
[b]问题补充:[/b]
确实是 他写的java version 是1.3.1_01

请问怎么解决这个问题啊
[b]问题补充:[/b]
bohemia 非常感谢你的帮助

已经把问题解决了

原来我在PATH里面把ORACLE的BIN写在前面

它本身会自带JDK1.3 我是在模拟DOS下运行的JAVAH

所以造成这样的问题 非常感谢你的帮助

不过请你再告诉下我 在ECLIPSE里面

如果操作 就是在里面如何使用命令编译这些

因为我不知道 所以一直在模拟的DOS下进行的

[b]问题补充:[/b]
再次3Q 问题解决

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • bohemia
    bohemia 2009-01-13 13:56
    已采纳

    方法:
    第1种.JDK生成代码的时候,用1.3编译;
    第2种:Path环境变量;把JDK6的%JAVA_HOME%\bin 添加到Path最前面;

    这样都可以

    点赞 评论
  • wwwghost
    wwwghost 2009-01-13 13:11

    能把代码贴出来吗?我怀疑是作用域的问题,在c++里面的方法不是public的。

    点赞 评论
  • bohemia
    bohemia 2009-01-13 13:11

    你的JDK版本不对;
    [quote]Unsupported major.minor version 50.0 对应于 JDK1.6(JRE1.6)
    Unsupported major.minor version 49.0 对应于 JDK1.5(JRE1.5)
    Unsupported major.minor version 48.0 对应于 JDK1.4(JRE1.4)[/quote]

    貌似你的类是在JDK1.6下编译的;需要JDK1.6的运行环境;

    你运行下 Java -version 查看下当前版本是否为1.6(6.0);

    点赞 评论
  • u011537602
    不良校长 2009-01-13 13:50

    编译的时候, 最好设置1。5兼容。

    点赞 评论
  • bohemia
    bohemia 2009-01-13 13:57

    用JDK1.6编译的话,指定最低兼容版本1.3;也可以; Eclipse的Build选项中可以直接设定

    点赞 评论
  • bohemia
    bohemia 2009-01-13 14:21

    Eclipse -> Window -> Preferences -> Java -> Compiler ->
    JDK Compilance

    这个窗口选项中,选择对应的
    JDK Compilance level 为1.3就可以了.

    点赞 评论

相关推荐