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