eclipse(helios)中动态web项目的生成错误
我在eclipse(helios)中有一个简单的动态web项目。在本文中,我有一个jsp请求uname和密码,然后它进入一个servlet,该servlet将只打印uname。我正在使用Ant构建战争和部署 我已对路径进行了以下设置:eclipse(helios)中动态web项目的生成错误,eclipse,jar,classpath,eclipse-3.6,helios,Eclipse,Jar,Classpath,Eclipse 3.6,Helios,我在eclipse(helios)中有一个简单的动态web项目。在本文中,我有一个jsp请求uname和密码,然后它进入一个servlet,该servlet将只打印uname。我正在使用Ant构建战争和部署 我已对路径进行了以下设置: ANT_HOME=C:\apache-ANT-1.7.0 JAVA\u HOME=C:\JAVA\jdk1.6 类路径=。;%JAVA_HOME%\lib;%蚂蚁之家%\lib 路径=%SystemRoot%\system32;%SystemRoot%;%Syst
Ant对web项目一无所知。它不会自动将WEB-INF/lib中的JAR包含在类路径中。您必须在
javac
任务用于编译类的类路径中明确地包含所有必需的jar
请注意,至少servlet-api.jar不应该在WEB-INF/lib中,因为它显然在tomcat的根类路径中。我从WEB-INF/lib中删除了servlet-api.jar,并检查了它的构建路径,它有c:\tomcat\common\lib文件。在此之后,我尝试再次进行构建,但同样的问题仍然存在。Ant和eclipse是两个截然不同的东西。如果您使用ant进行构建,它不会神奇地从Eclipse获得构建路径。正如我在回答中所写,您必须在ant构建文件的javac任务中定义一个显式类路径。向我们展示您的ant构建文件。正如您所说,我在build.xml中的classpath for javac命令中添加了jar,但它仍然不起作用。我正在附加构建文件,请查看它。jar文件本身必须位于类路径中。不仅仅是包含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>