`

关于配置文件、linux区别于windows获取地址的BUG

阅读更多
今天将一个面向配置编程的项目发布到linux服务器上时,发现了两个区别与windows服务器的BUG:

【BUG1】:读配置文件失败,但是后台打出的配置文件信息是正确的。
经过插桩测试获得报错信息:
   org.json.JSONException: A JSONObject text must begin with '{' at character 1 of {
【原因分析】 由于配置文件保存时,在前边带有乱码,所以在读取配置文件时是正常的,但在解析时就会报错:具体参看xiechengfa的博客:-->http://blog.csdn.net/xiechengfa/article/details/45559223
【解决方案】用EditPlus打开配置文件,并另存为utf-8格式。为什么使用EditPlus而不是记事本呢?这个问题我之前遇到过,貌似记事本在开始的地方会有关于编码的信息神马的。。(一时给忘了,啥时候找到了再来补上。)


【BUG2】linux系统下:
String path=request.getSession().getServletContext().getRealPath("/");
这种方式下获取路径失败。。
【原因分析】未分析。
【解决方案】通过类加载器获取。
String path=this.getClass().getClassLoader().getResource("/").getPath();
path = path.replaceAll("WEB-INF/classes", ""); //JavaWeb中



  • 大小: 21.8 KB
分享到:
评论

相关推荐

    windows-redis-7.0.0下载

    Redis在Windows上运行可能需要注意一些区别,比如Windows下的信号处理、文件权限和守护进程的实现与Linux有所不同。此外,Windows版Redis可能不支持所有Linux版本的特性,如AOF重写或者RDB持久化策略。 在使用Redis...

    最新版MyEclipse 2017 CI1 CI2 CI3 CI4 Windows/Linux/Mac 版下载地址(内含百度云链接+密码)

    #### 二、MyEclipse 2017 CI1、CI2、CI3、CI4 的区别 MyEclipse 2017系列的不同版本(CI1至CI4)主要在发布日期和技术支持方面有所差异。这些版本之间的主要变化通常涉及bug修复、性能优化以及对新技术的支持。例如...

    linux私房菜课后习题答案

    7. **文本文件与二进制文件的区别**:文本文件通常是人类可读的格式,如ASCII编码;而二进制文件则包含机器可读的数据,不可直接被人理解。这两种文件类型的差异在于其内部结构和用途,以及它们如何被操作系统解释和...

    aarch64-linux-gnu.mklittlefs-c41e51a.200706.tar.gz

    在实际应用中,使用mklittlefs时,开发者或系统管理员可能会先配置文件系统的参数,然后将数据写入一个映像文件,最后将这个映像烧录到设备的闪存中。这在嵌入式开发过程中是常见的步骤,特别是在需要定制化文件系统...

    linux工作使用总结

    ### Linux工作使用总结知识点 ...以上是关于《Linux工作使用总结》的知识点梳理,涵盖了从系统安装、内核编译、文件系统管理到具体的设备驱动等方面的内容,旨在帮助读者全面了解Linux系统的工作原理和技术细节。

    从零开始学习CentOS_(LINUX)搭建服务器

    CentOS是Red Hat Enterprise Linux(RHEL)的重新编译版本,它在RHEL的基础上修正了许多已知的Bug,并且更注重稳定性。相比于Fedora Core,CentOS更适合于构建网络服务器,因为Fedora Core更侧重于新技术,面向桌面...

    用centos_(linux)搭建服务器的详细教程.pdf

    Linux服务器相比于个人电脑的主要区别在于其存在的目的是为了提供服务。服务器通常需要长时间不间断运行,因此对于稳定性和可定制性要求很高。尽管个人电脑可以通过安装特定软件来模拟服务器,但这样的方式会导致...

    nginx-1.21.6.zip和nginx-1.21.6.tar.gz

    - Linux安装:通常通过编译源码完成,首先解压nginx-1.21.6.tar.gz,然后执行./configure,make,sudo make install等步骤,最后编辑/etc/nginx/nginx.conf配置文件并启动服务。 4. Nginx核心功能 - 静态文件服务...

    dhcp-3.1.2p1.tar.gz_MPLS QOS_dhcp_dhcp-3.0.7_dhcp.tar.gz_linux d

    源码包通常以`.tar.gz`格式提供,这是一种常见的Linux软件打包方式,它首先使用`tar`命令将所有文件打包成一个单一的归档,然后使用`gzip`工具进行压缩,以减小下载和存储的大小。 描述中提到的`dhcp.tar.gz`可能是...

    8821cu:用于使用RTL8811CU,RTL8821CU和RTL8731AU芯片组的USB WiFi适配器Linux驱动程序

    “标签”部分列出了与该驱动程序相关的关键词,如“linux”表明是与Linux操作系统有关,“raspberry-pi”意味着该驱动程序也适用于树莓派这种嵌入式系统,“usb”表示涉及USB接口,“debian”和“ubuntu”是两种流行...

    Microsoft.WindowsTerm 离线下载包

    Windows Terminal提供了一系列高级功能,如自定义主题、配置文件支持、快速切换面板、以及GPU加速的文本渲染,极大地提高了开发者和系统管理员的工作效率。 在这个离线下载包中,包含了两个版本的安装包:`...

    nacos-server-1.3.1.tar.gz和zip两个版本

    - `.zip`则是跨平台的压缩格式,广泛应用于Windows、Mac和Linux等操作系统。它支持多文件打包和压缩,且在Windows上解压非常便捷。 4. **安装与部署** - 对于`.tar.gz`版本,用户需要在Linux环境下使用`tar`命令...

    硬盘安装centos 组建win和centos双系统

    1. **调整GRUB配置**:在CentOS启动后,修改/etc/grub.conf文件,取消hiddenmenu的隐藏菜单功能,并将一个启动项名称改为“Windows XP (sp2)”,以便在启动时选择操作系统。 通过以上步骤,你将在Windows XP系统上...

    jdk-8u161-linux-x64.tar.zip

    "jdk-8u161-linux-x64.tar.zip" 是一个针对64位Linux操作系统的JDK版本的压缩文件,具体来说是更新版本8u161。这个文件采用tar归档格式并使用zip进行压缩,通常在Linux环境下使用,以方便下载和安装。 1. **JDK的...

    Liunx jdk1.8.0-144

    Linux系统上的JDK 1.8.0_144是Java Development Kit的一个特定版本,专为Linux操作系统设计。这个版本的JDK包含了用于在Linux环境下编译、调试和运行Java应用程序所需的所有工具和库。Java开发工具包(JDK)是Java...

    CentOS安装配置

    标题“CentOS安装配置”以及描述“Hadoop集群 第1期 CentOS安装配置教程”意味着本内容将重点围绕在如何安装和配置CentOS系统,以及如何为Hadoop集群的搭建进行准备。CentOS是一个流行的Linux发行版本,以其与Red ...

    开源项目-termux-termux-packages.zip

    4. **ChromeOS与Linux兼容性**:探索ChromeOS与传统Linux发行版的区别,以及如何利用Termux在ChromeOS上运行Linux应用,增强ChromeOS的生产力和开发能力。 5. **源码编译与管理**:熟悉从源代码编译软件包的过程,...

    abcde_2.9.3.orig.tar.gz

    ".orig.tar"后缀表示这是一个原始源代码的打包文件,通常在Linux或Unix环境中用于分发源代码,"orig"可能是为了区别于可能经过修改的本地版本。最后,".gz"表明文件已经通过gzip工具进行了压缩,以减小文件大小,...

Global site tag (gtag.js) - Google Analytics