我正在尝试使用JNI和JDK9。我有一个NativeTest.java
看起来像这样的类:
public class NativeTest {
static {
System.loadLibrary("hello");
}
private native void sayHello();
public static void main(String[] args) {
new NativeTest().sayHello();
}
}
我编译该类,然后使用javah NativeTest
生成头文件。
发出时javah
,我得到以下警告:
Warning: The javah tool is planned to be removed in the next major
JDK release. The tool has been superseded by the '-h' option added
to javac in JDK 8. Users are recommended to migrate to using the
javac '-h' option; see the javac man page for more information.
我知道下一个主要的JDK版本还需要很长时间,但是我认为我现在将开始习惯这个新选项。
所以,在尝试javac -h NativeTest.java
(以及其它类似的变化NativeTest
,NativeTest.class
等等),我不断收到此错误:
javac: no source files
我一直无法在线找到任何帮助,可能是因为此功能是相对较新的,并且-h
在手册页中找不到关于此新选项的任何信息。
还有其他人尝试吗?我想念什么?
我发现的解决方案是我没有指定javac
应放置头文件的目录。
执行javac -h . NativeTest.java
工作。
我已经看到了JDK发行版可以运行`javac-source1.6-target1.5`的编译选项。我理解来源和目标的单独选项。我不明白为什么源版本比目标版本高。为旧目标编译代码是有意义的。但是在这种情况下,为什么我们不使用我们希望能够运行的最古老目标的-source
问题内容: 我正在尝试在中指定JDK的另一个版本maven-compiler-plugin。当-target和-source参数设置为1.5时,一切正常。但是,当我尝试使用1.6 JDK时,maven报告了一个错误。有人遇到过这个问题吗? 错误: 执行Javac失败,但无法解析错误:javac:无效标志:-s用法:javac,可能的选项包括:-g生成所有调试信息-g:none不生成调试信息 谢谢。
我试图在< code > maven-compiler-plugin 中指定另一个版本的JDK。当< code>-target和< code>-source参数设置为1.5时,一切正常。但是当我尝试使用1.6版JDK时,maven报告了一个错误。有人面临过这个问题吗? 错误: 执行 javac 失败,但无法解析错误: javac: 无效标志: -s 用法: javac(如果可能)选项包括: -g
问题内容: 我在当前工作目录上有文件,但是javac报告: 我正在研究ubuntu。 问题答案: 从上面的评论看来,您尝试过: 在您的Ubuntu系统上。该分离器是在UNIX系统上的Windows。 Ubuntu考虑了直到的命令,因此给出了消息。 应该编译好。
我有一个单选按钮,一旦被选中,我想显示几个与之相关的选项。。选项在相关bean上。我该怎么做?
我是C的新手,这是我使用visual studio的第一个项目。我有#include