`
LucasLee
  • 浏览: 205981 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Re: 你的系统是跨平台的吗?

阅读更多
楼主总结得还不错。不过看上去似乎经验不足。(我说错了请原谅我)

我补充几点:
1.跨应用服务器。这个痛苦我比较有体会。(注意:但tomcat5到4之间的的跨越可能意义不大,因为支持的servlet ,jsp spec版本不同;倒过来是应该完全兼容的。)
  1.1 EJB跨应用服务器。虽然有spec,但每家都有自己的扩展,有些特别要命特性比如,EJB spec2.0里居然对like 只支持常数,就是不能传入?。
   然后EJB的配置文件都有各自的扩展,真是痛苦。好在Jbuilder可以自动转换Weblogic到Jboss,但也不是那么好,总有魔鬼的细节要你反复调试。
   1.2无EJB的跨应用服务器。这个容易多了,但居然也不是很顺利的。我的war曾经在tomcat上调试好了,发布到websphere5上就失败。最后用二分法逐次删除app里的文件,发现引起问题的居然是...eclipse产生的.classpath文件!websphere对eclipse支持得太好了吧?删掉即可。
    这就算好的了。我后来把在tomcat5上调试好的war发布到resion3上,更郁闷。我在网上查了resion内置了自己的xml parser,导致我的castor xml无法正确执行,要更换parser,需要N步...遂放弃...

2.跨浏览器。这个绝不是很容易的事情。Javascript就够你喝一壶的,各种细微差别,各种特殊的扩展...,这个到罢了,到CSS,更有玩意,特别是主要用CSS布局的,有得玩,这一点上如果采取老式的Table布局,兼容性倒是很不错。还来新玩意要慎用。
3.跨数据库。
  这个有hibernate之类的封装,就好多了。不用它,问题也不会很大,可参考我以前的帖子。(当然如果你用了stored procedure或trigger之类,只能手动挨个重写了)
4.跨操作系统。
  这个听上去是最容易的。但我还是碰到了几个问题。
  4.1文件路径的分隔符。windows下似乎能兼容Unix的分隔符,但反之不可。不能随意的用/或\,最好是用Java里提供的File.seperator。
  4.2字符编码问题。一般我们会是用中文版的windows,默认编码是GBK;Unix可能会有差别,所以在使用new String(byte[]),String.toBytes()等与编码相关的操作时,要注意,可以指定编码。最好还是全部使用UTF-8。
5.国际化问题
  这里暂只说文字的国际化。
  需要将文字资源外部化,并且全部用UTF-8编码,根据Local选择文字资源等等。不难也不简单。
分享到:
评论

相关推荐

    re2c-0.13.6.tar.gz

    `re2c` 是一个开源的源代码到C编译器...总之,`re2c` 是一个强大的工具,它简化了创建自定义词法分析器的过程,并提供了高效、轻量级的解决方案,适用于各种项目,尤其是那些对性能有严格要求或需要跨平台运行的项目。

    Sire分子模拟框架___下载.zip

    9. **跨平台**:Sire可在多种操作系统上运行,包括Linux、Mac OS X和Windows,确保广泛的兼容性。 在安装和使用Sire-devel之前,你需要确保你的系统满足必要的依赖条件,例如C++编译器、OpenMP和MPI库等。然后,...

    房地产项目系统.pptx

    1. **系统硬件**:这是RE-MIS的基础,包括计算机硬件、网络设备、存储设备等,它们为系统的运行提供了物理平台。 2. **系统软件**:包括操作系统、数据库管理系统、应用程序等,这些软件使得信息能够被有效地处理和...

    BPF CO-RE(Compile Once – Run Everywhere).pdf

    BPF CO-RE(Compile Once – Run Everywhere)是一种针对BPF程序开发的新方法论,它旨在解决传统BPF程序开发中的几个关键问题,如跨平台兼容性、编译效率以及测试复杂性等。 #### BPF CO-RE 的核心概念 **BPF CO-...

    开源项目-felixangell-phi-editor.zip

    使用Go语言来构建Phi-editor意味着该编辑器可能具有良好的性能和跨平台支持,因为Go语言天生就适合编写可移植的系统级软件。 SDL是一个跨平台的开发库,主要用于创建多媒体应用,如游戏和图形用户界面。它提供了对...

    PyPI 官网下载 | re_common-0.1.47.tar.gz

    "分布式"标签表明`re_common`可能设计用于处理或支持分布式系统中的任务,如数据处理、任务调度或者跨节点通信。 "云原生"(Cloud Native)是一个现代应用程序开发和部署的术语,强调利用容器化、微服务架构、持续...

    Python库 | msi_recal-0.2.3-cp36-cp36m-manylinux2010_x86_64.whl

    这种跨平台的能力对于进行跨平台软件部署的开发者来说非常有价值,它扩展了Python在系统集成和自动化方面的应用范围。在未来的版本中,我们可以期待`msi_recal`库持续优化,以支持更多的Python版本和操作系统,以及...

    基于java的宠物领养系统设计与实现+毕业论文

    标签中的“java”表明系统是用Java语言开发的,Java是一种广泛应用的面向对象的编程语言,具有跨平台、稳定性和性能好等特点,适合开发大型Web应用。 “毕业设计”表示这是一个学生完成学业时的项目,通常涵盖需求...

    matlab状态枚举法代码-re:关于

    2.0是一个跨平台库,用于英特尔:registered:实感:trade_mark:深度摄像头(D400系列和SR300)和。 :pushpin: 对于其他英特尔:registered:实感:trade_mark:设备(F200,R200,LR200和ZR300),请参阅。 该SDK允许进行...

    Java虚拟机JVM:lib_j2re_test.rar

    Java虚拟机(JVM)是Java程序运行的核心组件,它为Java应用程序提供了运行环境,使得开发者无需关注底层操作系统和硬件的细节,即可实现跨平台的代码执行。在"lib_j2re_test.rar"这个压缩包中,我们可能找到了与Java...

    毕业设计:基于python的文件实时监控和关键字告警及系统信息监控程序.zip

    3. 系统信息监控需考虑到不同操作系统间的差异,确保跨平台兼容性。 4. 告警系统的可配置性很重要,应提供灵活的设置选项,让用户自定义关键字和阈值。 此毕业设计项目是一个实用性强、技术含量高的系统,涵盖了...

    PyPI 官网下载 | re_common-0.2.30.tar.gz

    结合Python库,`re_common`可能被设计为能够适应动态扩展、弹性计算和跨云平台的环境,使得开发者在云环境中使用正则表达式时更加便捷。 至于没有列出具体文件的"re_common-0.2.30"目录,通常会包含以下结构: - `...

    2014ISG re200.rar

    9. **跨平台**: 尽管RAR最初是为了Windows系统设计,但现在也有适用于其他操作系统的版本,如Linux和macOS。 10. **版权与许可**: 使用RAR文件时要注意版权问题,特别是如果包含的是软件、音乐、电影等受版权保护的...

    基于Java小区物业管理系统(源码+使用文档)

    该系统利用Java语言的稳定性和跨平台特性,结合数据库技术,为物业管理人员和小区居民提供便捷的服务和管理工具。 主要功能 住户管理:记录住户信息,包括个人资料、房屋信息和联系方式。 费用管理:处理物业费、...

    存储系统和磁盘压力测试工具操作指导

    - 跨平台兼容性 #### IOZone IOZone是一款用于测试不同操作系统中文件系统读写性能的benchmark工具。它支持多种测试模式,包括Read、Write、Re-Read、Re-Write、ReadBackwards、ReadStrided、FRead、FWrite、...

    PyPI 官网下载 | re6stnet-0.399.dev0.tar.gz

    2. **分布式**:这意味着`re6stnet`可能是一个设计用于分布式环境的库,能够处理跨多台机器的数据和任务处理。 3. **云原生**:云原生指的是利用容器化、微服务、持续交付和声明式API等技术构建和运行应用程序的...

    Go语言开发的基于DRH(Deep-Re-Hash)深度哈希分区算法的高性能高可用Key-Value嵌入式事务数据库。

    跨平台:Go语言支持多种操作系统和平台,包括Windows、Linux、macOS等。它使用统一的构建系统(如Go Modules),可以轻松地跨平台编译和运行代码。 开源和社区支持:Go语言是开源的,具有庞大的社区支持和丰富的资源...

    ReWorks实时操作系统核心功能分析.pptx

    系统提供`sys_timestamp()`和`sys_timestamp_freq()`接口,用于获取当前时戳和时钟频率,确保跨不同CPU平台的兼容性。 - **实时时钟(RTC)**:实时时钟允许用户设置和获取系统日期和时间,通过标准接口如`rtc_read()...

    TCExam(在线考试系统) v14.0.3.zip

    跨平台 多语言支持 全部基于常规软件和标准(PHP5、MySQL、PostgreSQL、XHTML、javascript、PDF) 基于浏览器的用户界面 IP检测等额外的安全措施 支持的数据量无限制 支持多答案的问题和自由式问题 自动发送...

Global site tag (gtag.js) - Google Analytics