Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 给定类路径的相应导入_Java_Jar_Classpath - Fatal编程技术网

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; 我之所以需要知道这一点,是因为我正试图

似乎有很多问题询问如何从java内部或使用应用程序获取给定导入的类路径,但我还没有找到任何关于如何在不使用任何工具或java功能的情况下为给定导入找到相应路径的问题

我只是想知道导入应该如何根据$CLASSPATH的内容进行映射

注意我对java非常陌生;因此,如果答案显而易见,我很抱歉

// 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