我正在尝试导入,我的陈述如下:
import C.Users.pro-services.Documents.JAVA.libs.feed.synd.SyndFeed;
编译器在pro-services
中抛出连字符的错误b / c。这里有一个简单的解决方案或更深层次的问题(re:我对import语句的理解!)?
由于
答案 0 :(得分:1)
包亲服务是错误的。您无法使用连字符创建包。
答案 1 :(得分:1)
您需要classpath上的SyndFeed
,并通过其完全限定名称来引用它。
粗略地说,类路径包含多个jar文件和单个类文件。每个类(.jar内部或外部)都有一个完全限定的名称:包名称+类名。这就是你在import语句中写的内容。
答案 2 :(得分:0)
import
的论点不是路径;它是Java包的名称。在SyndFeed.java
的顶部,它应该说类似
package feed.synd;
package
的参数应该是import
中类名的前缀;即,
import feed.synd.SyndFeed;
您不使用import
告诉编译器在哪里找到该类; -classpath
开关(或者,不太好,CLASSPATH
环境变量)用于此。
答案 3 :(得分:0)
看起来SyndFeed
类的包是feed.synd
。如果是这种情况,请执行以下操作:
import feed.synd.SyndFeed;
。SyndFeed
类在jar中,请将jar添加到classpath
。也许是CLASSPATH = C:\Users\pro-services\Documents\JAVA\libs\SyndFeedJarName.jar
。SyndFeed
类不在jar中,请将与包中的第一个名称对应的目录(在本例中为feed)添加到类路径中。也许是CLASSPATH = C:\Users\pro-services\Documents\JAVA\libs\feed
。答案 4 :(得分:0)
天哪,请告诉我你不是指文件的绝对路径! 在Java中,有一个名为classpath的东西,虚拟机用它来定位类。 然后,一旦您的类位于类路径中(在jar文件中或在应用程序内),您可以将其导入到类中并使用它。 您尝试导入的课程似乎是com.sun.syndication.feed.synd.SyndFeed 您可以导入如下:
import com.sun.syndication.feed.synd.SyndFeed;
这是考虑你在课程路径中有它。如果你不这样做,拿到jar并把它放在类路径中。