Java 给定类路径的相应导入
似乎有很多问题询问如何从java内部或使用应用程序获取给定导入的类路径,但我还没有找到任何关于如何在不使用任何工具或java功能的情况下为给定导入找到相应路径的问题 我只是想知道导入应该如何根据$CLASSPATH的内容进行映射 注意我对java非常陌生;因此,如果答案显而易见,我很抱歉Java 给定类路径的相应导入,java,jar,classpath,Java,Jar,Classpath,似乎有很多问题询问如何从java内部或使用应用程序获取给定导入的类路径,但我还没有找到任何关于如何在不使用任何工具或java功能的情况下为给定导入找到相应路径的问题 我只是想知道导入应该如何根据$CLASSPATH的内容进行映射 注意我对java非常陌生;因此,如果答案显而易见,我很抱歉 // does this map to "$CLASSPATH/more/libs/for/you/you.jar" import more.libs.for.you; 我之所以需要知道这一点,是因为我正试图
// does this map to "$CLASSPATH/more/libs/for/you/you.jar"
import more.libs.for.you;
我之所以需要知道这一点,是因为我正试图找出如何正确打包/安装,以便正确导入。目前它安装在/usr/share/java/jna下,但是根据,如果我理解正确,正确的导入方法是com.sun.jna.*但是当我尝试导入jna时,我得到:
我甚至试着在/usr/share/java/com/sun/jna/下安装jna,但也没有成功,我仍然遇到了同样的错误
我的$CLASSPATH是/usr/share/java/*:$PWD:$CLASSPATH在java中,导入完全是语法糖。它不会将内容添加到类路径中,也不会将内容加载到运行时环境中。它只允许您编写代码,而不必每次提到类时都包含完整的类路径。当Java被编译成Java字节码时,所有类都会被它们的完整路径引用。我看不出这是如何回答我的问题的。如果.jar位于/usr/share/java//COOLNAME.jar下,如何导入它?java是否知道COOLNAME.jar是这样导入的:import sys.bunchOfMonkeys.COOLNAME;只要它在类路径中,就不能导入jar。要在.jar文件中使用类,您需要将该.jar文件添加到类路径中,或者在运行时使用URLClassLoader加载它。是否必须将其显式添加到类路径中,或者通配符可以工作?这是一个您应该能够找到答案的问题:
error: package com.sun.jna does not exist