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

首先Antbuild.xml文件不编译为检测错误加上其他ant问题

左翰海
2023-03-14

我正在尝试编写我的第一个版本。已建立的java项目的xml文件,该项目刚刚从Netbeans迁移。

答:我试图实现的目标非常简单:

>

使用下面的“jar”目标,创建一个包含包名目录下所有类文件的jar——根本不起作用!

使用“编译”目标来确保所有代码都成功编译,但我遇到了很多错误。代码在Eclipse中成功完成了CLEAN和BUILD,所以我不确定我在ANT脚本中做错了什么,我注意到的一件事是它试图编译“8”文件,而只有“4”。不确定其他4个来自哪里,尽管它表示重复。关于缺少符号的错误显示似乎是指有关构建路径中包含的所需项目的导入语句,因此我不确定如何解决ANT在其编译中提出的问题。

B.这是我第一次尝试创建我的第一个版本。xml文件,但我遇到如下问题:

<project name="ThalesDataGenerator" basedir="." default="clean-build">

    <property name="src.dir"     value="src"/>
    <property name="dest.dir"    value="${src.dir}/test"/>

    <property name="dist.dir"    value="dist"/>

    <property name="build.dir"   value="build"/>
    <property name="classes.dir" value="${build.dir}/classes"/>
    <property name="jar.dir"     value="${build.dir}/${ant.project.name}"/>

    <property name="main-class"  value="thalesdatagenerator.ThalesDataGenerator"/>

    <target name="clean">
        <delete dir="${build.dir}"/>
        <delete dir="${dest.dir}"/>
    </target>

    <target name="compile">
        <mkdir dir="${classes.dir}"/>
        <javac srcdir="${src.dir}" destdir="${classes.dir}"/>
    </target>

    <target name="dest">
        <mkdir dir="${dest.dir}"/>
        <copy todir="${dest.dir}">  
            <fileset dir="${src.dir}" includes="**"/>  
        </copy>
    </target>

    <target name="jar" depends="compile">
        <mkdir dir="${jar.dir}"/>
        <jar destfile="${jar.dir}/ThalesDataGenerator.jar" basedir="${build.dir}">
            <manifest>
                <attribute name="Main-Class" value="${main-class}"/>
            </manifest>
        </jar>
    </target>       

    <target name="run" depends="jar">
        <java jar="${jar.dir}/${ant.project.name}.jar" fork="true"/>
    </target>

    <target name="clean-build" depends="clean,dest,jar,run"/>

</project>

以下是我的错误:

>

构建失败

C:\ATMSwitch\ThalesDataGenerator\build。xml:22:编译失败;有关详细信息,请参阅编译器错误输出。

总时间:874毫秒

任何帮助/指导都将不胜感激。当做

共有2个答案

宿丰
2023-03-14

发生在我身上。因为我没有复制selenium-server-standalone-3.4.0。jar到我的C:\jars目录(ws.jars)

杜焕
2023-03-14

让我们一次看一个:

以下是一些提示:

  • 定义属性时使用${basedir}。例如,

现在回到你的问题。你的<代码>

<target name="compile">
    <mkdir dir="${classes.dir}"/>
    <javac srcdir="${src.dir}" destdir="${classes.dir}"/>
</target>

你是说你的信息源不依赖第三方JAR吗?您需要创建一个编译类路径,其中包含源代码所依赖的所有第三方JAR。在Eclipse中,您正在使用一个内置的类路径。在Ant中,必须指定这一点。

让我们假设源代码编译所需的所有jars都存储在${basedir}/lib中。您的编译目标需要如下所示:

<target name="compile">
    <mkdir dir="${classes.dir}"/>
    <path id="compile.classpath">
        <fileset dir="${basedir}/lib">
           <include name="**/*.jar"/>
        </fileset>
    </path>
    <javac srcdir="${src.dir}" 
        classpathref="compile.classpath"
        destdir="${classes.dir}"/>
</target>

有很多方法可以做到这一点,但这是最简单的语法。我使用

接下来,当我编译我的Java代码时,我使用classpatref参数来指定这个类路径。

这将编译类(现在还没有)。由于编译目标失败,Ant构建在

 类似资料:
  • My mechanic told me, I couldn’t repair your brakes, so I made your horn louder. — Steven Wright 通常,当出现问题时,我们会在继续运行前先停止它并修复错误。然而, 当以守护进程模式运行时,Puppet 会忽略配置清单的编译错误, 仅从缓存中应用最近一次已知可运行的版本。这个行为是由 usecacheonf

  • 问题内容: 您好,我有3个Java文件 我设法使用生成了A和B的.class文件 但是当我对c.java执行相同操作时,出现错误错误:找不到符号b和c 关于如何解决此问题的任何建议? 所有的Java文件都在同一个文件夹中 问题答案: 尝试编译class时,必须具有类并且在类路径中。这使编译器可以验证它们是否存在,找出它们具有哪些方法等。 对包名称和类路径非常敏感。最简单的方法是像这样同时编译这三个

  • 我有一个爪哇项目。它由以下层次结构组成: 项目: < li >服务器(包含server.java) < li >客户端(包含client.java) < li >协议(包含中的消息类型。java文件) 我正在用Eclipse运行这个项目。我已经到了需要用终端测试的地步。我如何使用 build.xml 文件来格式化它,以便每当我将其从 Eclipse 中取出并在服务器中运行时,它都能正常工作,但在上

  • 我正在尝试为我的react-native项目生成一个签名的APK。我收到错误消息错误:“未编译的PNG文件作为参数传递。必须先编译成.flat文件..” 如何解决此问题?我已经研究了这个问题,并尝试将添加到gradle-wrapper.properties文件中。 第一步是 但是,我没有看到任何关于为my-release-key.keystore文件指定位置的内容。直到我用了

  • 在我使用eclipse ant和java 1.8在Windows上编译代码之前,它完全正常工作。 现在我在Linux上使用编译。我确保下载了jdk 1.8和ant。 然而,当我运行ant启动构建时。xml,它仍然在失败,因为javac似乎出了问题。还有什么我需要安排的吗? 当我做ant-v时

  • 我写了下面提到的一个简单的java程序。不幸的是,编译错误发生了。 在编译过程中,在命令提示符下会显示以下内容: c:\Java 它对我的任何程序都不起作用,即使是这个简单的程序也不行!这是为什么? 编辑: 现在我有: 而且它不起作用。为什么不起作用? 它说的和以前一样。 你对Java所说的。lang.String[]有效,但为什么不能呢?为什么我以前不需要穿上这些?