从 Makefile 检测 Java 位置

发布于 2024-09-10 19:26:27 字数 118 浏览 3 评论 0原文

我有一个 makefile,它需要知道 Java 包含目录的位置,因为它使用 jni.h 文件。允许 Makefile 自动检测 Linux 上 Java 安装位置的最佳方法是什么?

谢谢,
克里斯

I have a makefile, which needs to know the location of the Java include directory because it makes use of the jni.h file. What is the best way of allowing the Makefile to auto-detect where Java is installed on Linux?

Thanks,
Chris

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

£噩梦荏苒 2024-09-17 19:26:30

在 Linux 上,您可以使用 which 命令,例如 which java。它应该告诉您它将使用的 java exec 的位置在哪里。

不过,我建议按照 Erick 指出的那样设置 JAVA_HOME。

On Linux you can use the which command, such as which java. It should tell you where the location of the java exec it would use is.

However, I'd recommend setting up JAVA_HOME as Erick pointed out.

灰色世界里的红玫瑰 2024-09-17 19:26:29

你也可以尝试这个:

JAVA_HOME:=$(jrunscript -e 'java.lang.System.out.println(new java.io.File(java.lang.System.getProperty("java.home")).getParent());')

You can try this too:

JAVA_HOME:=$(jrunscript -e 'java.lang.System.out.println(new java.io.File(java.lang.System.getProperty("java.home")).getParent());')
恍梦境° 2024-09-17 19:26:29

JAVA_HOME 环境变量包含 Java 安装的路径。

The JAVA_HOME environment variable contains the path to the Java installation.

携余温的黄昏 2024-09-17 19:26:28

怎么样使用

JAVA_HOME=$(shell readlink -f /usr/bin/javac | sed "s:bin/javac::")

改编自:
https://serverfault.com/questions/143786/how-to-确定-java-home-on-debian-ubuntu

How about using

JAVA_HOME=$(shell readlink -f /usr/bin/javac | sed "s:bin/javac::")

Adapted from:
https://serverfault.com/questions/143786/how-to-determine-java-home-on-debian-ubuntu

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文