我正在使用netbeans 7.1.1和常春藤。 我有ivy.xml文件,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0">
<info module="Laitsv3second" organisation="Laitsv3second" revision="1.0"/>
<dependency org="org.apache.httpcomponents" name="httpclient" rev="latest.integration">
</dependency>
</ivy-module>
现在问题如下: 我的项目也使用log4j库。当我运行项目时,我收到如下错误:
java.lang.NoClassDefFoundError: org/apache/http/client/methods/HttpUriRequest
下载的httpclient库包含此类org.apache.http.client.methods.HttpUriRequest.java但这是一个接口,因此出现此错误。我观察到ivy链接了包含java接口的常春藤库中的sources.jar,但我想要的是httpclient.jar包含在项目中,该项目是包含.class
文件的源代码的编译版本。这有可能吗?
答案 0 :(得分:1)
首先你的常春藤文件无效。你错过了封闭的&#34;依赖关系&#34;标记:
<ivy-module version="2.0">
<info module="Laitsv3second" organisation="Laitsv3second" revision="1.0"/>
<dependencies>
<dependency org="org.apache.httpcomponents" name="httpclient" rev="latest.integration"/>
</dependencies>
</ivy-module>
我怀疑你真正的问题是你没有在你的ANT版本中正确设置你的类路径。无法根据可用信息进一步诊断。
我建议使用以下答案中的工作示例:
我建议查看它如何在常春藤文件和常春藤任务中使用配置,如:
答案 1 :(得分:0)
上面提到的错误是因为ivy库没有添加到java类路径中。此问题在ivyBeans网站上报告。 Here are the details of the issue. 如前所述,我也通过在netbeans中关闭'compile on save'选项解决了这个问题。我认为这个解决方案可能会帮助其他人发布。