编译代码的简单ant脚本没有找到lib

时间:2012-11-15 15:57:12

标签: java ant war

我的项目结构是:

├── WebContent
│   ├── META-INF
│   ├── WEB-INF
│   │   ├── lib
│   │   └── views
│   ├── css
│   ├── img
├── src
│   └── com
│       └── mycode
│           └── morecode

我正在尝试编译代码,然后有一个WAR:

以下是我编译的ant脚本任务,然而,它失败了,并且在最基本的事情上抱怨error: package javax.servlet.http does not exist但是,代码在我的IDE中编译得很好。所以,我怀疑我的任务是没有在ant中配置属性。

<path id="compile.classpath">
    <fileset dir="WebContent/WEB-INF/lib">
        <include name="*.jar"/>
    </fileset>
</path>

<target name="init">
    <mkdir dir="build/classes"/>
    <mkdir dir="dist" />
</target>

<target name="compile" depends="init" >
    <javac destdir="build/classes" debug="true" srcdir="src">
        <classpath refid="compile.classpath"/>
    </javac>
</target>

1 个答案:

答案 0 :(得分:1)

假设您的WEB-INF/lib中没有servlet API JAR,因为这些类通常由servlet容器提供。您的IDE将从其他地方提供它们,但是对于您的Ant构建,您需要获取relevant JAR的副本,将其放在项目中的某个位置,如build/lib(即不在{{1}下}}并将其添加到您的WEB-INF