能不能给Tomcat添加一个新的Classpath

Inhibitory 2010-08-23 06:43:27
我的一个程序,动态的编译出新的class字节码,然后保存到文件系统中,如保存在tomcat工程目录的tempClasses目录下,这个目录并不在tomcat识别的classpath下,有没有办法把这个目录设置到Tomcat的classpath里?

例如文件结构如下:
tomcat/webabbs/myproject/tempClasses
|--NewClass1.class
|--NewClass2.class

然后我要在程序中使用Class.forName把这些class加载,运行他们。

1. 重写Tomcat的WebappClassLoader,没成功,加载这些类引用到的其他类时,说不能加载。还有一个问题,使用这种方式即使能加载了,但是一换服务器,就得实现一个新的ClassLoader.

2. 现在把这些类文件都放在/WEB-INF/classes 目录下,然后加载运行,成功。但是这有个问题,在classes目录下生成了很多的class文件,看到乱七八糟的,很不好。也想过使用打包的方法,但是因为这些生成的类文件是从一种医学的程序语言转换成Java语言,转换工具是另一个工程做好的,默认的代码没有打包,所以这个方式暂时不去使用。

单机的时候没问题,一到网络环境中问题就来了。

...全文
282 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccbwm 2010-08-24
  • 打赏
  • 举报
回复
编辑catalina.bat

set CLASSPATH="c:\......"
mars199 2010-08-23
  • 打赏
  • 举报
回复
楼主,好心点给5分吧,12点之前。。。。
goodmrning 2010-08-23
  • 打赏
  • 举报
回复
在安装目录下进入conf文件夹,打开里面的server文件,在<context>里面设置路径。

参数:

docBase:应用程序的路径或war文件的路径

path:web应用程序的url前缀
Inhibitory 2010-08-23
  • 打赏
  • 举报
回复
普通的设置classpath方法,
export CLASSPATH="$CLASSPATH:/Users/Biao/Documents/Workspace/Tomcat.6.0.20/webapps/mlm/bytecode"

steptodream 2010-08-23
  • 打赏
  • 举报
回复
厉害 好用就没问题啦
飞奔的兔子鸡 2010-08-23
  • 打赏
  • 举报
回复
怎么弄的?
Inhibitory 2010-08-23
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 leehomwong 的回复:]

LZ很暴力呀。。
[/Quote]
呵呵,没办法,遇到问题得搞定。
24K純帥 2010-08-23
  • 打赏
  • 举报
回复
LZ很暴力呀。。
Inhibitory 2010-08-23
  • 打赏
  • 举报
回复
现在强制弄到系统的classpath里了,呵呵。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧