`
zydky
  • 浏览: 86926 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Test.class.getResource("/").toString在tomcat和apusic表现不一致的问题

阅读更多
    从tomcat上将web应用移植到apusic应用服务器可能会出现以下问题:
应用中如果有代码Test.class.getResource("/").toString,则在tomcat下得到的是%tomcat_home%/webapps/your_web_app/WEB-INF/classes/,而在apusic下得到的是DOMAIN_HOME(类似C:\Apusic-6.0\domains\mydomain)。

    产生这个问题的原因是在apusic源码中默认是先用app或者system classloader来getResource(String name),而tomcat默认是先用自己的classloader来getResource.而如果是getResource("/")则app或者system classloader会获取DOMAIN_HOME这个结果。

    所以解决此兼容性问题的方法有三种:
1、修改Test.class.getResource("/").toString中"/"为"//",这样父classloader就无法找到DOMAIN_HOME,而返回子classloader获取的路径。
2、在配置文件vm.options中添加参数apusic.prefer.war.classes=true,使apusic先使用自己的classloader来getResource。
3、Test.class.getResource("/").toString,改成Test.class.getClassLoader().getResource("/").toString 也可以解决问题。

    以上三种方法都可以获取DOMAIN_HOME/application/WEB-INF/classes/路径,其中方法3跟方法2的原理是一样的。
分享到:
评论
1 楼 sunleisoft 2010-11-02  
谢谢你。费了一天的时间。

相关推荐

    spring_MVC源码

    本文主要介绍使用注解方式配置的spring mvc,之前写的spring3.0 mvc和rest小例子没有介绍到数据层的内容,现在这一篇补上。下面开始贴代码。 文中用的框架版本:spring 3,hibernate 3,没有的,自己上网下。 先说...

    javascript使用中为什么10..toString()正常而10.toString()出错呢

    这个问题是在著名的问答网站——stackoverflow上看到的。 之前也看到过JavaScript的这个问题,但是没有深入了解,今天在StackOverflow上看到了答案,感觉不错,记下来分享给大家。问题的描述是这样的: 代码如下: ...

    qt高效读取与写入excel的demo

    在Qt框架下,高效地读取和写入Excel文件是一个常见的需求,特别是在处理大量数据时。这个"qt高效读取与写入excel的demo"提供了一个实用的示例,适用于初学者快速上手。Qt库本身并不直接支持Excel文件操作,但我们...

    C#(ASP.NET)DateTime日期类型格式化显示

    Convert.ToDateTime("2005-8-23").ToString ("yyMMdd",System.Globalization.DateTimeFormatInfo.InvariantInfo); //支持繁体数据库 5.直接用ToString方法转换日期显示格式: DateTime.Now.ToString(...

    C#读取数据库日期数据

    在标题“C#读取数据库日期数据”以及描述“C#读取数据库日期数据,选择性显示时间的部分,如显示年月、年月日、时分秒等等”的基础上,我们可以了解到本文主要涉及的是如何使用C#语言来读取来自数据库中的日期和时间...

    CPK分析报告,winform绘制正态分布图,包含调用 示例源码等,备注清楚,一目了然

    label19.Text = CPKAnalysis.tempCPK.ToString();//计算CPK值 label16.Text = listD.Length.ToString();//计算总数 label15.Text = CPKAnalysis.tempR.ToString();//标准偏差 label20.Text = CPKAnalysis.tempK....

    C#中常用的DataTime方法的总结,包括一些SQL的函数

    DateTime 方法大全 DateTime 是 C# 中的一个结构体,用于表示日期和时间。它提供了多种方法来操作和格式化日期和时间。本文将对常用的 DateTime...这些函数可以在 SQL 查询中使用,以便对日期和时间进行操作和格式化。

    C# 系统操作 实时显示CPU内存使用率

    lblSum.Text = (myInfo.Info.TotalPhysicalMemory / 1024).ToString(); //获取可用物理内存总量 pbMemoryUse.Maximum = Convert.ToInt32(myInfo.Info.TotalPhysicalMemory / 1024 / 1024); pbMemoryUse.Value = ...

    Java-recourse.rar_java读取recouse

    你可以通过`Thread.currentThread().getContextClassLoader().getResource()`或`YourClass.class.getResource()`来获取`URL`对象,然后使用`InputStream`读取资源内容。例如: ```java URL resource = getClass()....

    VereMVC至简mvc微架构

    1. 下载并解压 VereMVC.zip 文件 2.打开 Eclipse 新建一个 test 项目 Eclipse -> File -> New -> Dynamic Web Project ...9.启动 tomcat 在浏览器地址栏输入 http://localhost:8080/test/test 将会看到结果

    VereWebMVC案例(从数据到前端页面)

    打开 Eclipse 新建一个 test 项目 Eclipse -> File -> New -> Dynamic Web Project 将解压后 VereMVC/lib 目录下面的 jar 包拷贝到 test/WebContent/WEB-INF/lib 里面 commons-fileupload-1.2.1.jar ...

    Android 创建HttpPost对象 获取HTTP连接.rar

    HttpGet httpGetRequest = new HttpGet(urlGet);//创建HttpPost对象  try {   HttpResponse httpResponse = new DefaultHttpClient().execute(httpGetRequest);   if(httpResponse.getStatusLine().getStatusCode...

    Android输入手机号发送短信示例.rar

      SmsManager smsManager = SmsManager.getDefault();//得到SmsManager   Intent intentSend = new Intent("SMS_SEND_ACTION");//创建Intent   PendingIntent sendPI = PendingIntent.getBroadcast...

    多种获得当前时间方法

    DateTime.Now.ToString(); // 2008-9-4 20:02:10 DateTime.Now.ToLocalTime().ToString(); // 2008-9-4 20:12:12 //获取日期 DateTime.Now.ToLongDateString().ToString(); // 2008年9月4日 DateTime.Now....

    spring技术入门相关源码

    public class SpringTest { public static void main(String[] args) { //创建spring的ApplicationContext ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); //...

    Datetime格式化大全

    Datetime 格式化大全是指 datetime 类型在 C# 中的各种格式化方法的总结。datetime 类型是 C# 语言中的一种基本数据类型,用于表示日期和时间。 ToString() 方法 ToString() 方法是 datetime 类型的基本格式化方法...

    阿里云ossandroid端

    public class GetAndUploadFileDemo { private static String TAG = "GetAndUploadFileDemo"; private OSSService ossService; private OSSBucket bucket; public void show() { ossService = ...

    xUtils3 demo

    数据库api简化提高性能, 达到和greenDao一致的性能. 图片绑定支持gif, webp; 支持圆角, 圆形, 方形等裁剪, 支持自动旋转... 使用Gradle构建时添加一下依赖即可: compile 'org.xutils:xutils:3.1.+' // or // ...

    java数据类型转换

    ### Java数据类型转换详解 #### 引言 在Java编程中,经常需要对不同数据类型进行转换以满足程序运行的需求。...需要注意的是,在进行类型转换时要确保源数据的有效性和准确性,避免因转换错误而导致的程序异常。

    Android 根据经纬查看街景.rar

    Android 根据经纬查看街景,这个只是学习经纬度的获取和用法,查看街景的功能需要运行条件才行,通过本源码可了解经纬度获取方法,下面是相关的代码:  重写onClick方法:  EditText etLong = (EditText)...

Global site tag (gtag.js) - Google Analytics