6 个解决方案
#1
tomcat的class类加载顺序:
1,$JAVA_HOME/jre/lib/ext/下的jar文件。
2,环境变量CLASSPATH中的jar和class文件。
3,$CATALINA_HOME/common/class下的class文件。
4,$CATALINA_HOME/commons/endorsed下的jar文件。
5,$CATALINA_HOME/commons/i18n下的jar文件。
6,$CATALINA_HOME/common/lib下的jar文件。jdbc驱动之类的jar我那间也可以放到这里,这样可以避免server.xml配置好数据源却找不到jdbc Driver的情况
7,$CATALINA_HOME/server/classes下的class文件。
8,$CATALINA_HOME/server/lib下的jar文件。
9,$CATALINA_BASE/shared/classes下的class文件。
10,$CATALINA_BASE/shared/lib下的jar文件。
11,各自具体的webapp /WEB-INF/classes下的class文件。
12,各自具体的webapp /WEB-INF/lib下的jar文件。
这就是tomcat的类加载顺序,你可以将class放在common/classes中
1,$JAVA_HOME/jre/lib/ext/下的jar文件。
2,环境变量CLASSPATH中的jar和class文件。
3,$CATALINA_HOME/common/class下的class文件。
4,$CATALINA_HOME/commons/endorsed下的jar文件。
5,$CATALINA_HOME/commons/i18n下的jar文件。
6,$CATALINA_HOME/common/lib下的jar文件。jdbc驱动之类的jar我那间也可以放到这里,这样可以避免server.xml配置好数据源却找不到jdbc Driver的情况
7,$CATALINA_HOME/server/classes下的class文件。
8,$CATALINA_HOME/server/lib下的jar文件。
9,$CATALINA_BASE/shared/classes下的class文件。
10,$CATALINA_BASE/shared/lib下的jar文件。
11,各自具体的webapp /WEB-INF/classes下的class文件。
12,各自具体的webapp /WEB-INF/lib下的jar文件。
这就是tomcat的类加载顺序,你可以将class放在common/classes中
#2
受益了!
#3
tomcat不同版本,可能没有/common/...目录
试着
设置环境变量CLASSPATH中c:\pas.class
pas.java
package ss;
public class pas {
public static void zz(){
System.out.println("sssssss");
}
}
启动tomcat无sssssss输出,估计没有执行c:\pas.class,失败!!!!
#4
楼主的问题描述不是很清楚,我是否可以这么理解,楼主的部分应用业务系统应该在整个应用系统能够给被正式用户使用前执行。
请楼主指正。
请楼主指正。
#5
是这样的:
我希望tomcat启动后,生成一个全局的变量,供所有登录用户使用,或者tomcat启动过程中,从磁盘读一个文件的内容,
这些操作要在第一个登录用户之前完成,如何实现?
#6
你可以一个写ServletListener区实现你业务,实现ServletContextListener接口就可以了。然后在应用系统中web.xml中配置这个Listener。
<listener>
<listener-class>
xxxxx.xxxListener
</listener-class>
</listener>
<listener>
<listener-class>
xxxxx.xxxListener
</listener-class>
</listener>
#1
tomcat的class类加载顺序:
1,$JAVA_HOME/jre/lib/ext/下的jar文件。
2,环境变量CLASSPATH中的jar和class文件。
3,$CATALINA_HOME/common/class下的class文件。
4,$CATALINA_HOME/commons/endorsed下的jar文件。
5,$CATALINA_HOME/commons/i18n下的jar文件。
6,$CATALINA_HOME/common/lib下的jar文件。jdbc驱动之类的jar我那间也可以放到这里,这样可以避免server.xml配置好数据源却找不到jdbc Driver的情况
7,$CATALINA_HOME/server/classes下的class文件。
8,$CATALINA_HOME/server/lib下的jar文件。
9,$CATALINA_BASE/shared/classes下的class文件。
10,$CATALINA_BASE/shared/lib下的jar文件。
11,各自具体的webapp /WEB-INF/classes下的class文件。
12,各自具体的webapp /WEB-INF/lib下的jar文件。
这就是tomcat的类加载顺序,你可以将class放在common/classes中
1,$JAVA_HOME/jre/lib/ext/下的jar文件。
2,环境变量CLASSPATH中的jar和class文件。
3,$CATALINA_HOME/common/class下的class文件。
4,$CATALINA_HOME/commons/endorsed下的jar文件。
5,$CATALINA_HOME/commons/i18n下的jar文件。
6,$CATALINA_HOME/common/lib下的jar文件。jdbc驱动之类的jar我那间也可以放到这里,这样可以避免server.xml配置好数据源却找不到jdbc Driver的情况
7,$CATALINA_HOME/server/classes下的class文件。
8,$CATALINA_HOME/server/lib下的jar文件。
9,$CATALINA_BASE/shared/classes下的class文件。
10,$CATALINA_BASE/shared/lib下的jar文件。
11,各自具体的webapp /WEB-INF/classes下的class文件。
12,各自具体的webapp /WEB-INF/lib下的jar文件。
这就是tomcat的类加载顺序,你可以将class放在common/classes中
#2
受益了!
#3
tomcat不同版本,可能没有/common/...目录
试着
设置环境变量CLASSPATH中c:\pas.class
pas.java
package ss;
public class pas {
public static void zz(){
System.out.println("sssssss");
}
}
启动tomcat无sssssss输出,估计没有执行c:\pas.class,失败!!!!
#4
楼主的问题描述不是很清楚,我是否可以这么理解,楼主的部分应用业务系统应该在整个应用系统能够给被正式用户使用前执行。
请楼主指正。
请楼主指正。
#5
是这样的:
我希望tomcat启动后,生成一个全局的变量,供所有登录用户使用,或者tomcat启动过程中,从磁盘读一个文件的内容,
这些操作要在第一个登录用户之前完成,如何实现?
#6
你可以一个写ServletListener区实现你业务,实现ServletContextListener接口就可以了。然后在应用系统中web.xml中配置这个Listener。
<listener>
<listener-class>
xxxxx.xxxListener
</listener-class>
</listener>
<listener>
<listener-class>
xxxxx.xxxListener
</listener-class>
</listener>