2015-09-19 37 views
2

我正在尝试使用Apache Commons StringEscapeUtils。我有这条线在我的import语句代码,Javac未正确注册类路径和方法,未找到符号

import org.apache.commons.lang3.StringEscapeUtils; 

我已经下载的Apache Commons Lang中,提取并转移:

commons-lang3-3.4.jar

(注:只是.jar文件,没有任何其他的东西,不知道它是否重要)到我的lib目录中,在那里我存储了我的所有其他.jar文件。

,我用它编译:

javac -cp .:lib/* Main.java 

然而,javac的是给我这个错误:

./FactualResultDeserializer.java:43: error: cannot find symbol 
        factualObject.setTitle(unescapeHtml(unescapeJava(resultActivity.get(TITLE).getAsString()))); 
                 ^
    symbol: method unescapeJava(String) 
    location: class FactualResultDeserializer 
./FactualResultDeserializer.java:51: error: cannot find symbol 
          categories[j] = unescapeHtml(unescapeJava(catArray.get(0).getAsJsonArray().get(j).getAsString())); 
                 ^
    symbol: method unescapeJava(String) 
    location: class FactualResultDeserializer 
2 errors 

它没有给我unescapeHtml一个错误是来自同一StringEscapeUtils包。

我已经尝试清除.class文件来重新编译。它没有解决问题,帮助将不胜感激。

在此先感谢!

+0

不要把javadoc jar放到你的'lib'中。保持文档与工作瓶分开。 – RealSkeptic

+0

删除它,问题仍然存在。 – ykaseng

+0

班上没有unescapeHtml。并且导入不会让你调用静态方法unescapeJava而不用类名称作为前缀。 – laune

回答

1

前缀方法调用与类的名称,以避免任何歧义。 org.apache.commons.lang3.StringEscapeUtils中没有unescapeHtml,请使用unescapeHtml3或unescapeHtml4。

factualObject.setTitle( 
    StringEscapeUtils.unescapeHtml4( 
     StringEscapeUtils.unescapeJava(resultActivity.get(TITLE).getAsString()))); 
+0

@RealSkeptic谢谢 - 修正。 – laune

+0

我想这就是她的意思,反正,谢谢你们!它工作,我学到了一些东西。 – ykaseng