我想用最新版本javac(例如11.0.19)"重新创建"J2 ME/ CLDC,并编译一个专门构建的Java程序,而不包含任何or个最小基本类.显然是像java.lang.Objectjava.lang.String这样的类(等等)需要存在,因为它们是核心功能.但除此之外,我想提供自己的"设备特定"类(例如,具有本地绑定)并使用标准javac编译器.

我已经对选项--module-source-path-profile--class-path(和其他)进行了一些修改,但没有取得太大成果.有关这些交换机的文档也非常"薄弱".

是否有更好的文档,或者是否有可能得到预期的结果?

推荐答案

如何用javac编译Java类,即使对像java.lang.*这样的基本类也没有任何依赖关系?

第一步是找到或准备一个包含所有"核心"类的类文件的收件箱文件. 对于J2 ME/ CLDC,您应该能够从现有发行版获取现有的收件箱文件. 请注意,javac只需要类的API签名,因此您可以使用包含"stub"类的收件箱;即没有任何实际实现详细信息的类.

然后使用-bootclasspath选项1告诉javac在哪里找到核心依赖项. 例如:

javac ... -bootclasspath /path/to/cldc.jar ... Hello.java

1 -或--boot-class-path-Xbootclasspath. 判断您正在使用的Java JK版本的javac文档.

Java相关问答推荐

将@ManyToOne JPA Composite Key用作Id保存实体添加额外参数

PostgreSQL货币兑换率查询

OpenJDK、4K显示和文本质量

如何在Android上获取来电信息

如何使用jooq generator将表名和列名映射为人类可读的?

替换com. sun. jndi. dns. DnsContextFactory Wildfly23 JDK 17

工件部署期间出错[Tomcat 8.5.45]

为什么我们不能实现两个接口,其中一个接口有相同的签名,其中一个接口有默认的实现在java?'

@ IdClass with @ Inheritance(策略= InheritanceType. SINGLE_TABLE)

如何找到MongoDB文档并进行本地化?

是否在允许数组元素为空时阻止 idea 为空性警告?

查找剩余的枚举

把一条整型短裤和两条短裤装成一条长的

如何在列表(链表)中插入一个新 node (作为prelast)

将java.util.Date(01.01.0001)转换为java.time.LocalDate将返回29.12.0000

未调用OnBackPressedCallback-Activitiy立即终止

Java 17与Java 8双重表示法

使用Java线程进行并行编程

如何转换Vector<;对象>;转换为int?

为什么当我输入变量而不是直接输入字符串时,我的方法不起作用?