有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何在Java中导入异常

我正在尝试导入,我的语句如下所示:

import C.Users.pro-services.Documents.JAVA.libs.feed.synd.SyndFeed;

编译器在pro-services中抛出连字符的错误b/c。这里有一个简单的解决方法,还是一个更深层次的问题(关于:我对导入语句的理解!)

谢谢


共 (5) 个答案

  1. # 1 楼答案

    import的参数不是路径;它是Java包的名称。在SyndFeed.java的顶部,它应该说

    package feed.synd;
    

    package的参数应该是import中类名的前缀;i、 e

    import feed.synd.SyndFeed;
    

    您不需要使用import来告诉编译器在哪里可以找到类;使用-classpath开关(或者,不太准确地说,CLASSPATH环境变量)来实现这一点

  2. # 2 楼答案

    您需要classpath上的SyndFeed,并通过其完全限定名引用它

    大致上,类路径包含多个jar文件和单个类文件。每个类(在.jar内部或外部)都有一个完全限定的名称:包名+类名。这就是您在导入声明中所写的内容

  3. # 3 楼答案

    专业服务包是错误的。无法使用连字符创建包

  4. # 4 楼答案

    哦,我的上帝,请告诉我你不是指文件的绝对路径! 在Java中,有一种叫做classpath的东西,虚拟机使用它来定位类。 然后,一旦类位于类路径中(在jar文件中或在应用程序中),就可以将其导入到类中并使用它。 您试图导入的类似乎是com.sun.syndication.feed.synd.SyndFeed 您要导入的是:

    import com.sun.syndication.feed.synd.SyndFeed;
    

    这是考虑到你在你的班级道路上有它。如果没有,则获取jar并将其放在类路径中

  5. # 5 楼答案

    看起来SyndFeed类的包是feed.synd。如果是这种情况,请执行以下操作:

    1. import feed.synd.SyndFeed;在java文件中
    2. 如果SyndFeed类位于jar中,则将jar添加到classpath。也许CLASSPATH = C:\Users\pro-services\Documents\JAVA\libs\SyndFeedJarName.jar
    3. 如果SyndFeed类不在jar中,则将与包中的第一个名称相对应的目录(在本例中为feed)添加到类路径中。也许CLASSPATH = C:\Users\pro-services\Documents\JAVA\libs\feed