gpt4 book ai didi

java - 使用 bb ant 工具构建时出现包不存在错误

转载 作者:太空宇宙 更新时间:2023-11-04 08:05:32 25 4
gpt4 key购买 nike

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

存在 3 个不同的错误,其中 2 个相关

[javac] D:\dev\java\workspaces\bb 工作区\blackberry\Adaffix\src\com\adaffix\blackberry\AdaffixApplication.java:55: 找不到符号 [javac] 符号:类 PhoneListener [javac] 公共(public)类 AdaffixApplication 扩展 UiApplication 实现 PhoneListener、GlobalEventListener {

[javac] D:\dev\java\workspaces\bb 工作区\blackberry\Adaffix\src\com\adaffix\blackberry\AdaffixApplication.java:29: 包 net.rim.blackberry.api.invoke 不存在 [javac] import net.rim.blackberry.api.invoke.Invoke;

[javac] D:\dev\java\workspaces\bbworkspace\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>

有人能指出我正确的方向吗?我有点迷失在这里我认为所有 RIM api 都会自动包含在 bb ant 工具中

最佳答案

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

可以通过三个选项来解决此问题:

  1. 您可以返回到使用 javac ant 任务显式编译 java 源代码。您之前的尝试没有成功,因为您仍在将源代码传递给 rapc。 Rapc 也可以从类文件开始,因此您需要自己执行 javac 步骤,然后将输出目录传递给 rapc 进行处理。

  2. 如果你不想自己整理javac命令,你也可以使用bb-ant-tools的补丁来覆盖默认的系统编码。

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

关于java - 使用 bb ant 工具构建时出现包不存在错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12144725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com