Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
eclipse(helios)中动态web项目的生成错误_Eclipse_Jar_Classpath_Eclipse 3.6_Helios - Fatal编程技术网

eclipse(helios)中动态web项目的生成错误

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

我在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%;%SystemRoot%\System32\Wbem;%JAVA_HOME%\bin;%路径%;%蚂蚁之家%\bin
  • tomcat安装在c:\tomcat

    我在WEB-INF\lib中有以下文件

    jstl-1.1.2.jar,jstl.jar,servlet-api.jar,standard-1.0.6.jar

    现在,当我尝试进行ant构建时,它会给我带来编译错误,错误如下: 包javax.servlet.http不存在,包javax.servlet.http不存在,包javax.servlet.http不存在等等

    有人能帮我解决这个问题吗? 类路径有问题还是找不到jar

    谢谢

    生成文件

    
    

    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>