库jar和tomcat的问题

时间:2011-06-03 12:17:49

标签: java tomcat

为什么我的项目库文件夹中有一个jar,编译器一直在尖叫NoClassDefinitionError,但当我把它放到tomcat的libraries文件夹中时,一切正常。但是,我不希望它在那里,因为我的蚂蚁任务都没有那样工作。

3 个答案:

答案 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来记下确切的步骤。