似乎有很多问题要求如何从中的或使用应用程序获取给定导入的类路径,但我还没有找到任何关于那么关于如何在不使用任何工具或java功能的情况下找到给定导入的相应路径。
我只是想知道导入应该如何根据$CLASSPATH
的内容进行映射。
注意我对java很新;如果答案很明显,我会道歉。
// does this map to "$CLASSPATH/more/libs/for/you/you.jar"
import more.libs.for.you;
我之所以需要知道这一点,是因为我试图找出如何正确打包/安装jna以便我可以正确导入它。目前它已安装在/usr/share/java/jna
下,但正确导入(根据docs,如果我理解正确的话)是com.sun.jna.*
但是当我尝试导入jna
时我明白了:
error: package com.sun.jna does not exist
我甚至尝试在jna
下安装/usr/share/java/com/sun/jna/
,但这也没有用,我仍然遇到同样的错误。
我的$CLASSPATH
是/usr/share/java/*:$PWD:$CLASSPATH
答案 0 :(得分:0)
在Java中,import
完全是语法糖。它不会向类路径添加内容或将内容加载到运行时环境中。它只是让你编写代码而不必在每次提到类时都包含完整的类路径。当Java编译成Java字节码时,所有类都以其完整路径引用。