当前位置: 首页 > 知识库问答 >
问题:

从Eclipse运行Ant脚本后缺少输出文件

叶明辉
2023-03-14

我有一个在Eclipse Luna中开发的简单web应用程序。应用程序的目录结构如下:

项目名称为SchoolSchedule。

在项目名称下,有Java资源、构建、WebContent文件夹和构建。xml文件。

在Java资源下,它是“src”文件夹,我的Java代码包名称在“src”文件夹下。

在WebContent下,有META-INF、WEB-INF和我的jsp文件在WEB-INF下,有web.xml文件和“lib”目录。

构建。xml位于项目根目录下。此web应用程序成功运行并产生预期结果。

我创建了一个Ant脚本来编译、构建WAR文件和部署WAR。但是,即使是基本任务也不起作用。我右键单击构建。xml--

有些东西我没有弄对。请帮助。这是我的Ant脚本:

<?xml version="1.0" encoding="UTF-8"?>

<project name="AntWarWebApp" basedir="." >

<echo>Define properties</echo> 
<property name="name" value="SchoolSchedule"/>
<property name="src" location="src"/>
<property name="web" location="WebContent"/>
<property name="build" location="build"/>
<property name="classDir" location="${build}/src"/>
<property name="distDir" location="${build}/dist"/>
<property name="warDir" location="${build}/war"/>

<property name="tomcat.webapps" value="C:\apache-tomcat-7.0.70\webapps" />

<echo>time stamp</echo> 
<tstamp prefix="build-info">
    <format property="current-date" pattern="d-MMMM-yyyy" locale="en" />
    <format property="current-time" pattern="hh:mm:ss a z" locale="en" />
    <format property="year-month-day" pattern="yyyy-MM-dd" locale="en" />
</tstamp>

<echo>clean up previous build directories</echo>    
<target name="clean" description="Delete old build directories">
    <delete dir="${distDir}"/>
    <delete dir="${warDir}"/>
    <delete dir="${classDir}"/>
</target>

<echo>create directories</echo>
<target name="init" depends="clean">
    <mkdir dir="${build}"/>
    <mkdir dir="${classDir}"/>
    <mkdir dir="${warDir}"/>
    <mkdir dir="${distDir}"/>
    <mkdir dir="${warDir}/WEB-INF"/>
    <mkdir dir="${warDir}/WEB-INF/classes"/>
</target>

<echo>start compiling</echo>        
<target name="compile" depends="clean, init" description="Compile main 
      source tree java files">
 <javac srcdir="${src}" destdir="${classDir}" />
    <classpath>
        <fileset dir="${basedir}/WebContent/WEB-INF/lib">
              <include name="*" />
        </fileset>
    </classpath>        
</target>

<echo>start building WAR file</echo>    
<target name="buildwar" depends="clean, init, compile">
    <war basedir="${wardir}" destfile="${distDir}/${name}.war"
     webxml="${wardir}/WEB-INF/web.xml">
        <webinf dir="${wardir}/WEB-INF/">
            <include name="**/*.jar" />
        </webinf>
        <manifest>
            <attribute name="Built-On" value="${build-info.current-date}" />
            <attribute name="Built-At" value="${build-info.current-time}" />
        </manifest>
    </war>
</target>
    <echo>end building WAR file</echo>   

<target name="deploy" depends="init, compile, buildwar" description="Deploy application">
   <delete dir="${tomcat.webapps}/*.war" />  
    <echo>copy WAR file to Tomcat deploy directory</echo>
    <copy file="${distdir}/*.war" todir="${tomcat.webapps}" />
</target>

</project>

共有1个答案

百里弘致
2023-03-14

你不应该有某种顶级元素吗

<project>
 ....
</project>

围绕这一切?

 类似资料:
  • 可以从jar文件中运行ant脚本吗? 目前,我有一个build.xml,它调用一些java代码,这些代码在一个jar文件中。然后它做一些进一步的蚂蚁处理。 当我从Eclipse导出jar文件时,我可以选择添加构建。xml文件到jar,所以我想知道我是否可以直接从jar运行ant脚本,这样我只需要给人们jar文件,而不是ant脚本。

  • 问题内容: 我正在尝试在Jmeter SetUp线程中运行几个SQL脚本。是否可以通过Jmeter从.SQL文件运行SQL代码,以便我可以在执行其他线程之前初始化数据库。我只是不想破坏我的代码,并使用JDBC连接和JDBC请求在Jmeter中复制/粘贴代码。谢谢! 问题答案: __FileToString()函数似乎是您要找的东西,您可以将其放入JDBC Request 采样器中,并在其中指定.s

  • 为了创建以下形式的json文件,我制作了如下的Groovy脚本,但出现了一个错误。 怎么了? 我在下一个网站。我认为我正确地编写了Groovy示例代码。https://docs.groovy-lang.org/latest/html/gapi/groovy/json/JsonBuilder.html 示例json 很棒的剧本 詹金斯错误状态 groovy.lang.MisSingProperty

  • npm错误!此运行的完整日志可以在:npm err!C:\users\ttopo\appdata\roaming\npm-cache_logs\2020-11-20t07_58_40_339z-debug.log` 0信息如果它以ok结束就可以工作1详细cli[1详细cli'c:\program Files\nodejs\node.exe',1详细cli'c:\program Files\node

  • 如何将JBoss或JBoss EAP库添加到Eclipse中项目的Java构建路径? 我的平台:带有WindowsXPSP3、JDK7和JRE7的虚拟机、面向Web开发人员的EclipseJavaEEIDE(版本:开普勒服务发行版2)、Eclipse中新的干净工作区 我所做的: 从市场上为开普勒安装了JBoss工具 文件夹与解压缩的JBoss EAP-我尝试与jboss-eap-6.2.0.zip

  • 问题内容: 我写了两个shell脚本和。在和我有一个无限的for循环,他们打印一些输出到终端。我想写另一个脚本,同时呼吁和,但我想用户立即恢复,而不是已经无限运行脚本的终端的控制,我想隐藏在终端输出。 问题答案: 使用,如果你的后台作业需要较长时间才能完成,或者你只是使用SecureCRT的或类似的东西登录服务器。 重定向 标准输出 和 标准错误 ,以忽略输出。