Ant build.xml在包含的.jar中找不到符号

凯文·坦泽(Kevin Tanzer)

我正在将多个项目从纯桌面Eclipse开发和构建迁移到构建服务器(Jenkins-CI)环境。对于这个项目,我可以在Eclipse下成功运行build.xml-> Run As-> Ant构建,但是在buildserver上运行时它将失败。我觉得我缺少基本知识,但是我花了很多时间研究这个问题。任何想法缺少什么?

<path id="lib-classpath">
    <!-- create a path to the lib files used in the javac compilation -->
    <fileset dir="${lib.dir}">
        <include name="*.jar"/>
    </fileset>
</path>

<target name="init">
    <mkdir dir="${bin.dir}"/>
    <mkdir dir="${lib.dir}"/>
</target>

<target name="check-DatabaseUtil">
    <property name="DatabaseUtil.dir" value="../../DatabaseUtil/workspace" />
    <property name="DatabaseUtil.jar" value="DatabaseUtil.jar" />
    <echo message="checking for ${DatabaseUtil.dir}/${DatabaseUtil.jar}..."/>
    <available file="${DatabaseUtil.dir}/${DatabaseUtil.jar}" property="DatabaseUtil.present"/>
</target>

<target name="do-if-DatabaseUtil" depends="check-DatabaseUtil" if="DatabaseUtil.present">
    <echo message="copy ${DatabaseUtil.dir}/${DatabaseUtil.jar} into directory ${lib.dir} ..."/>
    <copy file="${DatabaseUtil.dir}/${DatabaseUtil.jar}" todir="${lib.dir}" />
</target>

<target name="compile" depends="init, do-if-DatabaseUtil">
    <echo message="compile from directory ${source.dir} into directory ${bin.dir} ..." />
    <javac srcdir="${source.dir}" destdir="${bin.dir}">
        <classpath refid="lib-classpath"/>
    </javac>
</target>

<target name="jar" depends="compile">
    <property name="jar.name" value="${ant.project.name}.jar"/>
    <echo message="create file ${jar.name} ..." />
    <jar basedir="${bin.dir}" jarfile="${jar.name}">
        <fileset dir="${lib.dir}">
            <!-- include the library .jars into the file project .jar file -->
            <include name="*.jar"/>
        </fileset>
    </jar>
    <echo message="Done" />
</target>

当我使用Jenkins在构建服务器上运行构建时,显然无法找到lib目录中存在的DatabaseUtil.jar。这是录制的控制台输出:

Ant编译失败:

Started by user anonymous
Building in workspace /var/lib/jenkins/workspace/ClassifyProcessor
Updating svn://10.10.10.194/proficient/ClassifyProcessor/trunk at revision '2014-10-23T11:41:59.153 -0400'
U         build.xml
U         .classpath
At revision 5181
[ClassifyProcessor] $ ant
Buildfile: /var/lib/jenkins/workspace/ClassifyProcessor/build.xml
     [echo] Starting project ClassifyProcessor using Java 1.7 and Apache Ant(TM) version 1.8.2 compiled on September 22 2011
Trying to override old definition of task javac
     [echo] Staring project ClassifyProcessor in /var/lib/jenkins/workspace/ClassifyProcessor ...

init:

check-DatabaseUtil:
     [echo] checking for ../../DatabaseUtil/workspace/DatabaseUtil.jar...

do-if-DatabaseUtil:

compile:
     [echo] compile from directory /var/lib/jenkins/workspace/ClassifyProcessor/src into directory /var/lib/jenkins/workspace/ClassifyProcessor/bin ...
    [javac] Compiling 32 source files to /var/lib/jenkins/workspace/ClassifyProcessor/bin
    [javac] /var/lib/jenkins/workspace/ClassifyProcessor/src/com/hco/processor/Main.java:81: error: cannot find symbol
    [javac]             fmsList = DatabaseService.getFaxMessageStatusRecordsByStatus("Converted", "Inbound", props.getFaxSourceList(), db_connection);
    [javac]                                      ^
    [javac]   symbol:   method getFaxMessageStatusRecordsByStatus(String,String,String[],Connection)
    [javac]   location: class DatabaseService
    [javac] /var/lib/jenkins/workspace/ClassifyProcessor/src/com/hco/processor/Main.java:107: error: cannot find symbol
    [javac]                     FaxMessageStatus fms = DatabaseService.getFaxMessageStatusRecordByIdAndStatus(fmsId, "Converted",  db_connection);
    [javac]                                                           ^
    [javac]   symbol:   method getFaxMessageStatusRecordByIdAndStatus(int,String,Connection)
    [javac]   location: class DatabaseService
    [javac] /var/lib/jenkins/workspace/ClassifyProcessor/src/com/hco/processor/Main.java:346: error: method insertInErrorLog in class DatabaseService cannot be applied to given types;
    [javac]                         DatabaseService.insertInErrorLog(faxMessageStatus.getHost(), "Classify", "Classify", cte.getMessage(), "WARNING", "", faxJobId, fmsId, db_connection);
    [javac]                                        ^
    [javac]   required: String,String,String,String,String,String,Connection
    [javac]   found: String,String,String,String,String,String,int,int,Connection
    [javac]   reason: actual and formal argument lists differ in length
    [javac] /var/lib/jenkins/workspace/ClassifyProcessor/src/com/hco/processor/Main.java:359: error: method insertInErrorLog in class DatabaseService cannot be applied to given types;
    [javac]                         DatabaseService.insertInErrorLog(faxMessageStatus.getHost(), "Classify", "Classify", e.getMessage(), "FATAL", "", faxJobId, fmsId, db_connection);
    [javac]                                        ^
    [javac]   required: String,String,String,String,String,String,Connection
    [javac]   found: String,String,String,String,String,String,int,int,Connection
    [javac]   reason: actual and formal argument lists differ in length
    [javac] 4 errors

BUILD FAILED
/var/lib/jenkins/workspace/ClassifyProcessor/build.xml:46: Compile failed; see the compiler error output for details.

Total time: 2 seconds
Build step 'Invoke Ant' marked build as failure
Sending e-mails to: ktanzer@<mycompany>.com
Finished: FAILURE
西瓦·曼达迪(Siva Mandadi)

尝试 <fileset dir="${lib.dir}"> <include name="**/*.jar"/> </fileset>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在build.xml中设置ANT CLASSPATH

来自分类Dev

在Jar文件中运行ANT build.xml文件

来自分类Dev

Eclipse ANT Build.xml创建JAR显示损坏的文件

来自分类Dev

清单文件中读取的ant build.xml

来自分类Dev

在openfire中找不到build.xml

来自分类Dev

排除ant build中的文件

来自分类Dev

排除ant build中的文件

来自分类Dev

使用包含的jar文件从Apache Ant运行JUnit,结果为“找不到JUnitTask”

来自分类Dev

如何使用ant build.xml将源代码添加到jar文件

来自分类Dev

使用zipgroupfileset从Ant Build中排除Jar

来自分类Dev

Ant build.xml文件无法使用fileset元素中的属性

来自分类Dev

目录的ANT build.xml删除任务不起作用

来自分类Dev

echo的ant编码不符合build.xml设置

来自分类Dev

ant使未知参数失败:-buildfile = build.xml

来自分类Dev

git如何通过build.xml进行提取(ant任务)

来自分类Dev

Liquibase ANT Build.xml Oracle 驱动程序

来自分类Dev

在JRE中找不到Maven Build错误TOOLS.JAR

来自分类Dev

如何在Windows上的环境变量中设置Jenkins ant构建中的build.xml文件的路径

来自分类Dev

PhoneGap 3.0 Android build命令无法执行:ant jar

来自分类Dev

Android数据绑定包含布局中的“找不到符号变量”

来自分类Dev

运行ANT脚本时,DITA OpenToolkit 2.1.1 build.xml“ BUILD FAILED”错误

来自分类Dev

使用ant build在Java中读取静态文件

来自分类Dev

ant:找不到jar中的资源。无法创建任务或键入类路径

来自分类Dev

STS中的简单Ant构建找不到jdk1.7.0_11 / lib / tools.jar

来自分类Dev

在Android Studio中找不到模块应用程序的Gradle build-info.xml

来自分类Dev

用Ant替换XML中的值

来自分类Dev

Ant找不到指定的路径

来自分类Dev

找不到Android Gradle build-info.xml

来自分类Dev

如何在我的Ant构建中包含外部jar库

Related 相关文章

  1. 1

    在build.xml中设置ANT CLASSPATH

  2. 2

    在Jar文件中运行ANT build.xml文件

  3. 3

    Eclipse ANT Build.xml创建JAR显示损坏的文件

  4. 4

    清单文件中读取的ant build.xml

  5. 5

    在openfire中找不到build.xml

  6. 6

    排除ant build中的文件

  7. 7

    排除ant build中的文件

  8. 8

    使用包含的jar文件从Apache Ant运行JUnit,结果为“找不到JUnitTask”

  9. 9

    如何使用ant build.xml将源代码添加到jar文件

  10. 10

    使用zipgroupfileset从Ant Build中排除Jar

  11. 11

    Ant build.xml文件无法使用fileset元素中的属性

  12. 12

    目录的ANT build.xml删除任务不起作用

  13. 13

    echo的ant编码不符合build.xml设置

  14. 14

    ant使未知参数失败:-buildfile = build.xml

  15. 15

    git如何通过build.xml进行提取(ant任务)

  16. 16

    Liquibase ANT Build.xml Oracle 驱动程序

  17. 17

    在JRE中找不到Maven Build错误TOOLS.JAR

  18. 18

    如何在Windows上的环境变量中设置Jenkins ant构建中的build.xml文件的路径

  19. 19

    PhoneGap 3.0 Android build命令无法执行:ant jar

  20. 20

    Android数据绑定包含布局中的“找不到符号变量”

  21. 21

    运行ANT脚本时,DITA OpenToolkit 2.1.1 build.xml“ BUILD FAILED”错误

  22. 22

    使用ant build在Java中读取静态文件

  23. 23

    ant:找不到jar中的资源。无法创建任务或键入类路径

  24. 24

    STS中的简单Ant构建找不到jdk1.7.0_11 / lib / tools.jar

  25. 25

    在Android Studio中找不到模块应用程序的Gradle build-info.xml

  26. 26

    用Ant替换XML中的值

  27. 27

    Ant找不到指定的路径

  28. 28

    找不到Android Gradle build-info.xml

  29. 29

    如何在我的Ant构建中包含外部jar库

热门标签

归档