0

我正在开发一个使用 DB 用于嵌入式设备的 Java 应用程序(使用 CDC Foundation 1.1 和 jsr 169)。jsr169 jar 文件应该由引导加载程序加载(而不是使用传统的 -classpath 选项)

为了运行应用程序,我使用以下命令

cvm -Xbootclasspath/a:/mylibs/jsr169.jar -cp $CLASSPATH -jar myapp.jar

但是我在某处读到该选项 -Xbootclasspath 不是标准的,使用它是否危险?如果是,我可以将我的 jsr169.jar 放在哪里,以便它可以由引导类加载器直接加载?

感谢一百万人

埃利

4

1 回答 1

1

-Xbootclasspath 不是标准的 java 选项,因此不同供应商的 JVM 可能不支持它。

另一个危险在于它可以用来覆盖 JRE 中的标准类 - 如果您的应用程序依赖于这些覆盖的类,您可能会在不同的 JVM 甚至同一 JVM 的更新版本上运行时遇到问题。

根据 Java SE 文档,覆盖标准类会破坏 Java 许可证:根据Oracle 文档“不应部署使用此选项来覆盖 rt.jar 中的类的应用程序,因为这样做会违反 Java 2 运行时环境二进制文件代码许可证。” . 不过,我在 CVM 的文档中没有看到这样的警告。

由于 CDC 不包括 JDBC 类,我想你是安全的。

于 2011-11-29T12:48:36.180 回答