0

我正在使用来自 J2ME Polish 的 UI 组件。我在代码中发现了一个简单的错误,并想快速修复它,但在下载包中找不到任何构建脚本,尽管包含源代码。

该问题无法通过扩展类来解决,因为它涉及具有私有访问权限的成员。

我应该如何修复它?我应该简单地用 Javac 编译有问题的类还是应该尝试在他们的存储库中找到构建脚本?

4

2 回答 2

1

J2MEPolish UI 库没有二进制代码,因为这些类也在您的应用程序编译期间进行了预处理。这就是为什么 J2MEPolish UI 部分也没有构建脚本的原因 - 生成的二进制文件,如果它编译,将没有任何意义 :)

如果您直接使用此 UI 类(不涉及波兰魔法),我建议将其复制到您自己的项目中,在那里进行更改,您应该会没事的。

但是有一个小问题。我不是 100% 确定,但是波兰语构建过程应该如下:首先你的类被预处理,然后波兰语类将被预处理。如果您复制到项目中的 UI 组件将保留在同一个 java 包中,则您的更改可能会被有缺陷的波兰实现覆盖。您可以通过运行应用程序或查看构建目录中的最终 java 代码来检查它。

如果发生覆盖问题,那么您有两个选择 - 将项目中的 UI 类移动到不同的包中(我 99% 确定如果您直接使用它应该没问题)或者您需要修改波兰构建过程,以便它将首先预处理波兰语类,您可以覆盖它所做的更改。

/亚努斯西姆

于 2008-10-26T12:47:59.230 回答
1

我知道这个问题已经得到回答和接受,但更简单的方法是使用他们的内置属性(对于任何通过魔法搜索引擎来到这里的人)

polish.client.source=/projecthome/j2me-polish-source

这只是与安装程序一起打包的源代码的副本。您可以将其复制到您自己的源代码树中,从而获得更改的版本历史记录。

虽然 JaanusSiim 的方法可能有效,但我不推荐它,因为在您自己的源代码树中包含 de.enough.** 包会变得令人困惑,我通常src为我的个人源代码和src-j2mepolish他们的源文件创建一个,这是非常明确的添加到标准版本。

于 2011-04-20T15:04:48.987 回答