我在eclipse(helios)中有一個簡單的動態web項目。在這裏我有一個需要uname和密碼的jsp,它會轉到一個只打印uname的servlet。我正在使用Ant構建戰爭並部署。在eclipse(helios)中爲動態web項目生成錯誤
我在下面設置做了路徑:
- ANT_HOME = C:\ Apache的螞蟻1.7.0
- JAVA_HOME = C:\ java的\ JDK1.6
- 類路徑=; %JAVA_HOME%\ lib;%ANT_HOME%\ lib
- path =%SystemRoot%\ system32;%SystemRoot%;%SystemRoot%\ System32 \ Wbem;%JAVA_HOME%\ bin;%Path%;%ANT_HOME%\ bin
tomcat已安裝在C:\ tomcat的
我有以下的WEB-INF \ lib中的文件
JSTL-1.1.2.jar,的jstl.jar,servlet的api.jar文件,標準1.0.6.jar
現在,當我嘗試執行ant構建時,它給我編譯錯誤,錯誤如下: 軟件包javax.servlet.http不存在,軟件包javax.servlet.http不存在,軟件包javax.servlet。 http不存在等等
任何人都可以幫我解決這個問題嗎? 是類路徑的問題還是它無法找到該jar?
感謝
構建文件
<property name="build.dir" value="build" />
<property name="src.dir" value="src" />
<property name="dist.dir" value="c:\tomcat\webapps" />
<property name="jardir.dir" value="C:\tomcat\common\lib" />
<target name="clean" description="Removes temporary directories">
<delete dir="${build.dir}" />
<delete dir="bin" failonerror="false" />
<delete dir="${dist.dir}/jar" failonerror="false" />
<delete dir="${dist.dir}/FirstTestApp" failonerror="false"/>
</target>
<target name="init" description="Creates temporary directories">
<mkdir dir="${build.dir}/classes" />
<mkdir dir="${dist.dir}" />
</target>
<target name="compile" depends="init" description="compiles files">
<javac debug="true" deprecation="true"
destdir="${build.dir}/classes" srcdir="${src.dir}"
verbose="true" classpath="${jardir.dir}" />
</target>
<target name="war" depends="compile">
<war destfile="${dist.dir}\FirstTestApp.war" basedir="${build.dir}" webxml="web\WEB-INF\web.xml">
<lib dir="web/WEB-INF/lib" includes ="**/*.jar"/>
<!--<fileset dir="web/jsp" includes="*.jsp" />-->
<fileset dir="web" includes="js/**,images/**,css/**,jsp/**" />
</war>
</target>
我從WEB-INF/lib中刪除了servlet-api.jar,並檢查了它具有c:\ tomcat \ common \ lib文件的構建路徑。在此之後,我嘗試再次構建,但同樣的問題仍然存在。 – shiny
螞蟻和日食是兩個完全不同的東西。如果使用ant構建,它不會奇蹟般地從Eclipse獲取構建路徑。正如我在我的回答中所寫的,您必須在您的ant構建文件的javac任務中定義一個顯式的類路徑。向我們展示你的ant構建文件。 –
正如你所說,我在build.xml中的javac命令的類路徑中添加了jar,但仍然無效。 – shiny