`
李宏喜
  • 浏览: 118729 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ant 因为依赖关系导致无法编译通过,无法生成部署用的war包

阅读更多
今天公司的配置管理员,发邮件给leader,说无法生成新的war包
仔细查看了邮件的内容
[javac] F:\project\src\main
\project\com\info\trunk\web\controller\BaseJsonController.java:6: 软件包 com.
info.fgw.web.controller 不存在
    [javac] import com.info.fgw.web.controller.BaseJsonLoggerController;
    [javac]                                        ^
    [javac] F:\project\src\main
\project\com\info\trunk\web\controller\BaseJsonController.java:33: 找不到符号

    [javac] 符号: 类 BaseJsonLoggerController
   [javac] public abstract class BaseJsonController extends BaseJsonLoggerController
    [javac] F:\project\src\main\project\com\info\invest\dao\check\CheckDaoImpl.java:5: 软件包 com.info.fgw.util.rptrule 不存在

代码在IDE中是完全可以编译的。
用关键字 ant 编译 找不到符号 google,没有找到正确的解决方案
ant compile package not exists 再搜索, 使用ant -v 来查看编译的更详细输出。
在详细输出中,看到有这样的提示信息
 [javac] '-sourcepath'
 [javac] 'F:\project\src\main\project'
 [javac] '-encoding'
 [javac] 'UTF-8'
 [javac] '-g'

只包含了代码的一个分支,另一个分支src\main\fgw,在编译的时候,没有包含进来,所以就在BaseJsonController和CheckDaoImpl这里出现了找不到符号的编译错误,查看项目中ant的build文件中的编译输出的相关部分:
 <macro-compile srcdir="${main.src.dir.trunk}" destdir="${main.classes.dir}" classpathref="main.compile.classpath"/>
 <macro-compile srcdir="${main.src.dir.fgw}" destdir="${main.classes.dir}" classpathref="main.compile.classpath"/>

认为这里是错误的,在编译的时候,是顺序执行的,如果在分支fgw中增加了一些功能,而在分支trunk中引用新增的功能后,编译在检查依赖时出现了错误。修改为:
   <macro-compile srcdir="${main.src.dir.trunk};${main.src.dir.fgw}" destdir="${main.classes.dir}" classpathref="main.compile.classpath"/>

这样ant在编译时,加入了依赖关系的检查,编译通过,并生成了相应的部署包
0
0
分享到:
评论

相关推荐

    ant打包编译全套资料

    "ant案例"涵盖了各种实际场景的应用,比如如何配置Ant来编译Java项目、打包JAR文件、生成WAR文件以部署到Web服务器,甚至如何执行单元测试、代码覆盖率分析等。通过实际操作案例,可以更直观地学习Ant的工作原理和...

    用ant进行war打包

    通过执行`ant war`命令,Ant会按照`build.xml`中的配置执行相应的任务,最终生成一个名为`mywebapp.war`的WAR文件,这个文件就可以被部署到支持Java Web应用的服务器上,如Tomcat、Jetty等。 总之,Ant作为Java开发...

    ant打包部署工具,官方下载

    6. **依赖管理**:Ant可以通过管理类库依赖关系,确保在构建过程中使用正确的版本。 7. **构建脚本**:Ant的XML配置文件(build.xml)允许开发者定义一系列的任务和目标,形成构建脚本,这些脚本可以按顺序执行,也...

    ant编译1.9版本

    Ant以其XML为基础的构建文件(通常命名为build.xml)著称,这种文件定义了项目构建的各个任务和依赖关系。在“ant编译1.9版本”中,我们关注的是Apache Ant 1.9.6这个特定版本的使用方法和特性。 Apache Ant 1.9.6...

    Ant 打 war 包过程

    在Java Web开发中,"Ant打war包过程"是一个关键步骤,它涉及到使用Apache Ant工具将项目打包成一个可部署的WAR(Web Application Archive)文件。Ant是一个基于XML的构建工具,广泛用于自动化Java项目的构建、编译和...

    编译tomcat依赖的包

    这个过程可能会创建一个`build`目录,其中包含编译后的类文件和最终的可部署WAR文件。 5. **处理依赖**:Tomcat可能依赖于一些外部库,这些库通常位于`common/endorsed`、`common/lib`、`server/lib`和`shared/lib`...

    Ant部署WebService服务

    - 部署阶段:Ant可以使用特定的应用服务器任务(如Tomcat的`deploy`任务)将WAR包上传到服务器。 4. **Apache CXF与Ant**: - CXF是一个流行的Java EE WebService框架,支持SOAP和RESTful服务。 - 使用Ant与CXF...

    ant打包Web工程

    3. **定义任务(Tasks)**:Ant通过任务来执行具体的操作,例如`javac`用于编译Java源代码,`copy`用于复制文件,`jar`用于创建JAR包,`war`则用于打包Web应用。 4. **Web应用结构**:在打包Web应用时,理解标准的...

    用Ant实现Java项目的自动构建和部署

    标题“用Ant实现Java项目的自动构建和部署”指的是利用Apache Ant工具来自动化Java应用程序的编译、打包和部署过程。Apache Ant是一个基于XML的构建工具,它允许开发者定义任务序列,以便在没有人类干预的情况下执行...

    ANT打包命令详解api指令

    ANT通过XML格式的配置文件(通常命名为`build.xml`)来定义任务和依赖关系。在本文中,我们将深入解析ANT打包命令中的`api`指令,以及一些常见的ANT使用示例。 首先,`api`指令在ANT中并不常见,可能是指使用ANT来...

    shell调用ant打包 部署

    3. **调用Ant命令**:使用`ant`命令并指定构建文件,如`ant -f buildweb.xml compile`进行编译,`ant -f buildweb.xml war`创建WAR包。 4. **执行测试**:如果存在,可以调用Ant的test目标进行单元测试或集成测试。 ...

    ant_shell自动部署

    - **构建**:使用Ant编译源代码,生成可部署的类文件和资源。 - **打包**:将编译后的结果打包成WAR或JAR文件。 - **上传**:将打包好的文件传输到目标服务器。 - **解压和复制**:在目标服务器上解压并复制到...

    java利用Ant脚本生成war包全过程

    3. **放置Class文件**:将编译生成的Class文件移动到WAR包的`WEB-INF/classes`目录下。 4. **添加库文件**:将项目`lib`目录中的jar包拷贝到WAR包的`WEB-INF/lib`目录下。 5. **打包**:最后,将所有内容压缩成WAR...

    springboot ant部署

    标题中的“Springboot Ant部署”指的是使用Apache Ant工具来构建和部署Spring Boot应用程序的过程。Spring Boot是基于Spring框架的高度简化和快速开发的工具,而Ant是Java项目常用的构建工具,它允许开发者通过XML...

    ant配置文件

    Ant能够处理编译Java源代码、生成JAR或WAR包、清理构建目录等任务。在myEclipse中,用户可以通过内置的Ant支持来创建和运行Ant构建脚本,这样可以提高开发效率,确保构建的一致性和可重复性。 标签“ant 蚂蚁配置”...

    java用ant打包

    当我们谈到“java用ant打包”时,通常指的是创建两种类型的可部署包:WAR(Web应用程序归档)和JAR(Java归档)文件。WAR文件用于部署Web应用程序,包含Servlets、JSPs和其他相关资源;JAR文件则用来封装Java类库,...

    如何在dos下将工程打包成war包

    ### 如何在DOS下将工程打包成WAR包 在软件开发过程中,特别是Java Web项目的部署环节,将项目打包成WAR文件是一项常见的需求。WAR文件(Web Application Archive)是一种用于封装Web应用程序的标准格式,它包含了...

    ant将工程打war

    为了执行这个构建过程,你需要在命令行中运行`ant war`命令,Ant会自动完成编译、打包等一系列操作,生成名为`mywebapp.war`的WAR文件。 在实际开发中,你可能还需要添加其他目标,比如`clean`目标用于清理构建产物...

    ant编译java web的build.xml文件

    这些目标之间可以通过依赖关系进行组织,以确保执行顺序。 3. **编译Java源代码** 在`build.xml`中,`javac`任务常用来编译Java源代码。它需要指定源代码目录、目标目录以及编译器的属性,如是否启用调试信息。...

    各服务器部署war

    【标题】"各服务器部署WAR"涉及的知识点主要围绕Java Web应用的部署,特别是将WAR(Web ARchive)文件部署到不同的服务器环境。WAR文件是Java Web应用程序的标准打包格式,它包含所有必要的资源,如Java类、HTML、...

Global site tag (gtag.js) - Google Analytics