在2000下运行。由于jar包太多导致classpath过长。
已经采用的方法包括自己写一个classloader,但是由于使用的一些库是自己找java的系统classloader,完全忽视我写的classloader,所以有class无法载入。系统的classloader在运行后就不能往里面增加url了,因为addURL是protected。也考虑过往extclassloader里放,但是在运行参数指定的时候会有问题。目前正在写一个拼命令行执行的工具。但是这个东西也有毛病,系统的几个标准输入输出不好弄。屏幕上打的东西搞没了。大家是怎么解决这个问题的?
有没有办法在系统开始运行后往系统的classloader里加jar包?

解决方案 »

  1.   

    我一般都把包放在工程的WEB-INF\lib\下,就不用设那么多了
      

  2.   

    用ant管理你的项目 定义一个classpath 
    包含某个路径下所有的jar 
      

  3.   

    楼主应该是命令行启动程序的吗,命令行启动的我见别人都是写自己的classLoader,然后再写一个类似Tomcat的Startup.jar启动包...classloader不是有个方法,不行吗
    public Class loadClass(String name)
      

  4.   

    http://blog.csdn.net/treeroot/archive/2006/03/21/631490.aspx