首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为java指定MainClass

如何为java指定MainClass
EN

Stack Overflow用户
提问于 2018-04-08 02:41:55
回答 1查看 676关注 0票数 2

我试图使一个.bat脚本只是为了运行一个java文件,在那里我尝试使用JNI,但我有一个有趣的问题。

脚本应该被称为NativeMethodTest的目录,包含一个名为out的文件夹。

现在,当我在out文件夹中时,我可以使用

java HelloWorld

它工作得很好,但是当我在父文件夹中时,它似乎使用命令开始运行。

java -cp "./out" HelloWorld

但我知道这个错误

代码语言:javascript
复制
Exception in thread "main" java.lang.UnsatisfiedLinkError: no hello in java.library.path
    at java.base/java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.base/java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.base/java.lang.System.loadLibrary(Unknown Source)
    at HelloWorld.<clinit>(HelloWorld.java:8)

但是HelloWorld.java包含以下行

System.setProperty("java.library.path", "D:\\projects\\NativeMethodTest\\out\\.");

它将我的库路径设置为绝对的,所以当我在同一个文件夹中,但不在父文件夹中时,它应该可以工作,请帮助。

谢谢

在这里,文件夹结构:

./NativeMethodTest/run.bat ./NativeMethodTest/out/hello.dll ./NativeMethodTest/out/HelloWorld.class

EN

回答 1

Stack Overflow用户

发布于 2018-04-08 03:13:52

好吧,这很奇怪,因为getProperty("java.library.path")方法给出了路径,所以我做了一个错误的假设,但是多亏了Elliott,我将我的脚本修改为

java -cp "./out" -Djava.library.path=".\out\." HelloWorld

现在父母也很好用,

谢谢,祝你今天愉快

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49713873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档