??? 最后一个问题,我晕倒了,甚是疑惑 ??? !!!!
问题是这样的.
环境:
Tomcat 4.1下
JAVA_HOME=C:\JBuilder8\jdk1.4
classpath=%JAVA_HOME%\bin;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JAVA_HOME%\jre\lib\rt.jar;%Tomcat_Home%\common\lib\servlet.jar;%JAVA_HOME%\lib\activation.jar;%JAVA_HOME%\lib\mail.jar;
Tomcat_Home=C:\Program Files\Tomcat 4.1
别人的一个程序newSystem.war放在Tomcat 4.1\webapps\ 下
启动tomcat方法:
1.从开始菜单中启动,即(C:\JBuilder8\jdk1.4\bin\java.exe -jar -Duser.dir="C:\Program Files\Tomcat 4.1" "C:\Program Files\Tomcat 4.1\bin\bootstrap.jar" start)
运行首页出错了: CLASSPATHjava.io.FileNotFoundException: C:\Program Files\Tomcat 4.1\..\webapps\newSystem\conf\DBseting.properties
2.我启动 tomcat 4.1/bin/startup.bat 来启动tomcat
此时运行成功.
看源码问题在一个java 文件中:
String strPath="..\webapps\newSystem\conf\DBseting.properties"
File dbfile=new File(strPath)
我设了很多classpath都没有用,真不知道这两个启动tomcat到底有什么区别.
如何让我第一种启动方法,可以正确动行?《不修改源码的前提下》
问题点数:20、回复次数:13Top
1 楼warren04(Just Try !)回复于 2003-11-04 17:30:15 得分 0
自己顶
是不是classpath的原因,怎么弄?Top
2 楼warren04(Just Try !)回复于 2003-11-05 09:12:14 得分 0
顶一下Top
3 楼chesterwoo()回复于 2003-11-05 09:52:39 得分 3
1. 我从来不用第一种方法。
2. java源文件中的路径有问题。应为String strPath="newSystem\conf\DBseting.properties",并应将.properties文件按类路径加载。
3. 至于第二种方法,那是因为java源文件的路径是tomcat服务器的启动位置的相对路径,因此也可以找到该文件。
Top
4 楼warren04(Just Try !)回复于 2003-11-05 11:17:10 得分 0
我换成
String strPath="newSystem\conf\DBseting.properties"
都没法用了。
高手指点Top
5 楼Lihaitao312(学海无涯)回复于 2003-11-05 12:02:24 得分 0
学习中Top
6 楼jiejifeng(zj)回复于 2003-11-05 12:46:41 得分 1
Tomcat4以上版本好像是用
CATALINA_HOME 而不是 Tomcat_Home,试一下吧Top
7 楼chesterwoo()回复于 2003-11-05 13:16:09 得分 9
你要按类路径加载。
InputStream in = getClass().getResourceAsStream(propname);
prop.load(in);
其中propname是你.properties文件相对于运行类的路径。Top
8 楼warren04(Just Try !)回复于 2003-11-05 13:30:37 得分 0
请问楼上:我的相对类路径怎么写
newSystem
|___conf
| |__DBseting.properties
|
|___WEB-INF
|__classes
|__com
|__pack
|__util
|__java 的class文件
Top
9 楼chesterwoo()回复于 2003-11-05 13:52:21 得分 5
.properties文件一般与类文件打在一起发布,这样就可以按类路径加载。
当然你这样实现也是可以的,但有失去可移植性的倾向,当然你可能有自己的考虑。
如果一定要用快捷方式启动,就要解决文件路径问题,如修改启动脚本,但这与java本身无关了。Top
10 楼sunny110(沙漠)回复于 2003-11-05 13:57:11 得分 1
upTop
11 楼warren04(Just Try !)回复于 2003-11-05 14:00:12 得分 0
谢谢chesterwoo!
我也不知道有什么好方法,上面那个相对路径怎写呢?Top
12 楼warren04(Just Try !)回复于 2003-11-05 18:32:23 得分 0
顶Top
13 楼kiki0712(乖的无聊)回复于 2003-11-05 18:50:00 得分 1
哦,没碰到,学习ING~Top




