为什么我的项目库文件夹中有一个jar,编译器一直在尖叫NoClassDefinitionError,但当我把它放到tomcat的libraries文件夹中时,一切正常。但是,我不希望它在那里,因为我的蚂蚁任务都没有那样工作。
答案 0 :(得分:0)
调用编译器时,将JAR添加到classpath元素中。添加文件夹不起作用,因为Java编译器不会为您搜索JAR文件(它只会搜索.class文件)。
答案 1 :(得分:0)
如果ant任务找不到你的jar,你将需要定义你的类路径来指向它们。以下是[docs]
的示例<path id="myclasspath">
<fileset dir="${myAppDir}/lib">
<include name="*.jar" />
</fileset>
</path>
然后你可以在任何时候引用你的类路径(以javac为例)
<javac ... whatever you have>
<classpath refid="myclasspath" />
... anything else you do to compile
</javac>
我认为如果您的ant任务与Tomcat文件夹中的jar一起使用而不是您的app文件夹,那么您已经设置了类路径已经指向Tomcat的lib(可能正在查找servlet.jar)文件夹但是未能包含您的拥有。 在上面的路径减速中,您可以拥有多个文件集,因此您可以在类路径中包含各种区域。
答案 2 :(得分:0)
使用以下方法
如果您是通过命令行编译java文件。
javac -classpath \lib\example.jar Test.java
http://download.oracle.com/javase/1.3/docs/tooldocs/win32/javac.html
如果您使用其中一个IDE,请将jar包含为库。 在Eclipse的情况下:
Right click on Project->Properties->Java Build Path->Libraries-> Add External Jar
在Netbeans中也是类似的,我没有安装IDE来记下确切的步骤。