Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java me 如何在J2ME波兰语二进制文件中重写类?_Java Me_J2mepolish - Fatal编程技术网

Java me 如何在J2ME波兰语二进制文件中重写类?

Java me 如何在J2ME波兰语二进制文件中重写类?,java-me,j2mepolish,Java Me,J2mepolish,我使用的是来自J2ME Polish的UI组件。我在代码中发现了一个简单的bug,希望快速修复它,但在下载包中找不到任何构建脚本,尽管包含了源代码 这个问题不能通过扩展类来解决,因为它涉及具有私有访问权限的成员 我该如何着手修理它?我应该简单地用Javac编译有问题的类,还是应该尝试在它们的存储库中找到构建脚本?J2MEPolish UI库没有二进制代码,因为这些类在应用程序编译期间也会进行预处理。这就是为什么J2MEPolish UI部件也没有构建脚本的原因——如果编译,生成的二进制文件将毫无

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

这个问题不能通过扩展类来解决,因为它涉及具有私有访问权限的成员


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

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

如果您直接使用这个UI类(没有波兰魔法),我建议您将它复制到您自己的项目中,在那里进行更改,您应该会很好

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

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


/Jaanussim

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

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


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

谢谢詹努斯。你的解释很有道理。我将尝试你的解决方案,并让大家了解它的进展情况。本课程涉及波兰语预处理。我已经尝试过不同的包思想,但由于依赖于其他公开包私有成员的类而陷入困境。它是通过波兰预处理导入的还是直接使用的?无论如何-看起来你最好的选择应该是改变波兰版本处理。这应该不会太难。我尝试了这个想法,它成功了。只需将带有bug的类复制到原始包下我的项目的源文件夹中。修复了这个bug,并在项目上进行了波兰构建。谢谢
polish.client.source=/projecthome/j2me-polish-source