验证Java平台独立性

时间:2012-11-22 07:01:21

标签: java

我创建了一个在Windows上运行的jar。在这个jar中,我与Cognos系统集成,我们正在使用Oracle数据库进行一些文件编写和很少的数据库操作。

我有一项任务是检查jar是否可以在Linux系统上运行。

有没有办法检查Jar文件是否与平台无关?

我觉得文件编写和数据库操作应该在他们现在正在运行时运行。但我仍然不确定Fie。

2 个答案:

答案 0 :(得分:1)

  

我有一个任务来检查jar是否会运行Linux系统。有没有办法检查Jar文件是否与平台无关?

唯一方式确定是将其安装在Linux系统上,并对所有功能进行全面测试。 (如果这太麻烦了,至少要测试所有可能与平台相关的功能。)


为了记录,有很多东西可以使您的代码平台依赖,包括:

  • 将换行终结器硬连接到您的代码中,
  • 将路径名硬连接到您的代码中,
  • 在汇编路径名时假设Windows(或Linux)文件分隔符/路径名语法,
  • 与Windows文件锁定有关的事情,以及其他特定于平台的文件系统行为,
  • 将外部命令名称硬连接到您的代码中,
  • 使用本机代码库,
  • 对输入/输出编码做出假设(例如,假设默认值为UTF-8或其他),
  • Swing GUI渲染中的奇怪事物和(偶尔)行为,
  • 可能还有其他我没有想过的。

确保你没有错过任何东西的唯一方法是测试,测试,测试

答案 1 :(得分:1)

在linux或mac上检查它,但你需要检查几个与平台相关的东西,例如使用正确的路径分隔符进行文件操作,换行符

您可以使用java.io.File.separatorCharSystem.getProperty("path.separator");作为路径分隔符,使用System.getProperty("line.separator");作为换行符。