Java 使用bb ant工具生成包时不存在错误

Java 使用bb ant工具生成包时不存在错误,java,blackberry,ant,Java,Blackberry,Ant,我试图使用bb ant工具自动化我们的构建过程,但我遇到了一些错误 有三种不同的错误,其中两种是相关的 [javac]D:\dev\java\workspaces\bb workspace\blackberry\Adaffix\src\com\Adaffix\blackberry\Adaffix应用程序。java:55:找不到符号[javac]符号:类PhoneListener[javac]公共类Adaffix应用程序扩展UiApplication实现PhoneListener、GlobalEv

我试图使用bb ant工具自动化我们的构建过程,但我遇到了一些错误

有三种不同的错误,其中两种是相关的

[javac]D:\dev\java\workspaces\bb workspace\blackberry\Adaffix\src\com\Adaffix\blackberry\Adaffix应用程序。java:55:找不到符号[javac]符号:类PhoneListener[javac]公共类Adaffix应用程序扩展UiApplication实现PhoneListener、GlobalEventListener{

[javac]D:\dev\java\workspaces\bb workspace\blackberry\Adaffix\src\com\Adaffix\blackberry\AdaffixApplication.java:29:package net.rim.blackberry.api.invoke不存在[javac]import net.rim.blackberry.api.invoke

[javac]D:\dev\java\workspace\bb workspace\blackberry\Adaffix\src\com\Adaffix\blackberry\main\block\AddBlock.java:167:警告:编码UTF-8的字符不可映射[javac]//tilf?j til db

这是我的build.xml

<?xml version="1.0" encoding="ISO-8859-1"?> 
<project name="appname" default="build" basedir=".">

    <!-- BLACKBERRY ANT TOOLS --> 
    <property name="bb-ant-tools.home" location="D:/dev/bb-ant-tools-1.2.13-bin" /> 
    <taskdef resource="bb-ant-defs.xml" classpath="${bb-ant-tools.home}/bb-ant-tools.jar" />    
    <property name="jdehome" value="D:/dev/eclipse/blackberry/plugins/net.rim.ejde.componentpack6.0.0_6.0.0.43/components" />
    <property name="jdkhome" value="C:/Program Files (x86)/Java/jdk1.6.0_34" />

    <!-- CONFIG STUFF  -->
    <property name="cod.name" value="appname" />
    <property name="app.name" value="appname" />
    <property name="app.version" value="2.7.5" /> 
    <property name="app.description" value="" /> 
    <property name="app.vendor" value="appname GmbH" /> 

    <!-- FOLDERS --> 
    <property name="build.dir" location="D:/dev/java/workspaces/bb workspace/blackberry/build" /> 
    <property name="bbminterface.dir" location="D:/dev/java/workspaces/bb workspace/blackberry/BBMInterface" /> 
    <property name="bbmimpl.dir" location="D:/dev/java/workspaces/bb workspace/blackberry/BBMImplementation" /> 
    <property name="main.dir" location="D:/dev/java/workspaces/bb workspace/blackberry/appname" /> 

    <target name="build" description="Builds Project">

        <!--<mkdir dir="${build.dir}" /> -->
        <javac target="1.4" source="1.4" destdir="${build.dir}" encoding="utf-8"> 
            <src path="${bbminterface.dir}/src"/> 
            <src path="${bbmimpl.dir}/src"/> 
            <src path="${main.dir}/src"/> 
            </javac>     


        <rapc output="BBMInterface" destdir="${build.dir}" jdehome="${jdehome}" jdkhome="${jdkhome}"  verbose="false" quiet="true" nowarn="true"> 
            <src> 
                <fileset dir="${bbminterface.dir}/src"/> 
            </src> 
            <jdp type="library" title="appname BBM Interface" vendor="${app.vendor}" version="1.0.0"> 
                <entry title="appname BBM Interface" description=""/>     
            </jdp> 
        </rapc> 
        <rapc output="BBMImplementation" destdir="${build.dir}" jdehome="${jdehome}" jdkhome="${jdkhome}" verbose="false" quiet="true" nowarn="true"> 
            <src> 
                <fileset dir="${bbmimpl.dir}/src"/> 
            </src> 
            <import location="${bbmimpl.dir}/external jars/bbm sdk/net_rim_bb_qm_platform.jar" /> 
            <import location="${build.dir}/BBMInterface.jar" /> 
            <jdp type="library" title="appname BBM Implementation" vendor="${app.vendor}" version="1.0.0" runonstartup="true" startuptier="6"> 
                <entry title="appname BBM Implementation" description="" runonstartup="true" startuptier="6"/>  
            </jdp> 
        </rapc> 

            <javac srcdir="${main.dir}" encoding="UTF-8" />
        <rapc output="${cod.name}" destdir="${build.dir}" jdehome="${jdehome}" jdkhome="${jdkhome}" verbose="false"> 

            <src> 
                <fileset dir="${main.dir}/src" /> 
            </src> 
            <src> 
                <fileset dir="${main.dir}/res" /> 
            </src> 
            <src>  
                <fileset file="${main.dir}/external jars/bb payment sdk/paymentapi.jar" /> 
                <fileset file="${main.dir}/external jars/bb advertising sdk/net_rim_bbapi_adv_app.jar" /> 
            </src> 
            <import location="${main.dir}/external jars/bb payment sdk/paymentapi.jar" /> 
            <import location="${main.dir}/external jars/bb advertising sdk/net_rim_bbapi_adv_app.jar" /> 
            <import location="${build.dir}/BBMInterface.jar"/> 

            <jdp type="cldc" title="${app.name}" vendor="${app.vendor}" icon="${main.dir}/res/image/icon.png" version="${app.version}" description="${app.description}" startuptier="7" ribbonposition="0"> 
                <entry title="${app.name}" icon="${main.dir}/res/image/icon.png" description="${app.description}" runonstartup="true" arguments="boot" systemmodule="true" startuptier="7" ribbonposition="0" /> 
                <!--<entry title="${app.name}" icon="../res/icon.png" description="@{description}" arguments="daemon" runonstartup="true" systemmodule="true" startuptier="7" ribbonposition="0" /> -->
            </jdp> 
        </rapc>
                <sigtool codfile="${build.dir}/BBMInterface.cod" password="password"/> 
                <sigtool codfile="${build.dir}/BBMImplementation.cod" password="password"/> 
                <sigtool codfile="${build.dir}/${cod.name}.cod" password="password" /> 
        </target> 
        <target name="sign" description="Sign the cod files"> 
        </target> 
    <!--<target name="clean"> 
        <delete dir="${dest.dir}" /> 
    </target> -->

</project> 

有人能给我指一下正确的方向吗?我有点迷路了
我原以为bb ant工具会自动包含所有RIM api

问题不在bb ant工具中


如果您的
rapc
可以从源代码生成项目,为什么您需要
javac
部件?您甚至不使用
javac
的结果。我建议您删除它,它将修复您的生成。

问题不在bb ant工具中


如果您的
rapc
可以从源代码生成项目,为什么您需要
javac
部件?您甚至不使用
javac
的结果。我建议您删除它,它将修复您的生成。

您是在Linux还是Windows上生成的?rapc使用java SDK“javac”将java源代码编译为.class文件在将类文件编译成.cod文件之前。不幸的是,rapc没有提供任何方法将“-encoding”选项传递给javac,因此您只能使用平台默认编码。这是Windows上的cp-1252,OSX上的MacRoman,Linux上的UTF-8。由于它试图将您的源代码解释为UTF-8,我猜您使用的是Linux

解决此问题有三个选项:

  • 您可以使用javac ant任务返回显式编译java源代码。您之前的尝试不起作用,因为您仍在向rapc传递源代码。rapc也可以从类文件开始,因此您可以自己执行javac步骤,然后将输出目录传递给rapc进行处理

  • 如果您不想自己整理javac命令,还可以使用bb-ant工具的补丁覆盖默认的系统编码

  • 如果您只在Linux上构建BlackBerry应用程序,您只需将源文件编码切换到UTF-8即可。但是,如果任何开发人员使用Windows,这将无法正常工作。Windows是常见的选择,因为它是模拟器工作的唯一场所。通过切换到UTF-8编码,Windows开发人员将e与您现在面临的问题相同-rapc将使用系统默认值cp-1252进行编译,但源文件将采用UTF-8格式


  • 您是在Linux还是Windows上构建的?Rapc使用java SDK“javac”将java源代码编译成.class文件,然后再将类文件编译成.cod文件。遗憾的是,Rapc没有提供任何方法来传递“-编码”选择javac,因此您必须使用平台默认编码。这是Windows上的cp-1252,OSX上的MacRoman,Linux上的UTF-8。由于它试图将您的源代码解释为UTF-8,我猜您使用的是Linux

    解决此问题有三个选项:

  • 您可以使用javac ant任务返回显式编译java源代码。您之前的尝试不起作用,因为您仍在向rapc传递源代码。rapc也可以从类文件开始,因此您可以自己执行javac步骤,然后将输出目录传递给rapc进行处理

  • 如果您不想自己整理javac命令,还可以使用bb-ant工具的补丁覆盖默认的系统编码

  • 如果您只在Linux上构建BlackBerry应用程序,您只需将源文件编码切换到UTF-8即可。但是,如果任何开发人员使用Windows,这将无法正常工作。Windows是常见的选择,因为它是模拟器工作的唯一场所。通过切换到UTF-8编码,Windows开发人员将e与您现在面临的问题相同-rapc将使用系统默认值cp-1252进行编译,但源文件将采用UTF-8格式


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

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

    感谢您的回复!但当我这样做时,仍然会产生相同的错误。这是我第一次尝试这样做,请原谅任何愚蠢的错误!我添加javac标记的原因是因为我想添加编码和符合性级别,但我从您那里了解到