tomcat, jdk, eclipse, ant的安装,设置及常见问题

1.tomcat

  安装:

    安装版:在官方下载tomcat的安装版,根据提示一步步操作,很简单的
    解压版:在官方下载tomcat的解压版,放到要安装的目录中解压版即可
        同以前的找到设置环境变量的地方。 
        新建:变量名:CATALINA 变量值:D:\Tomcat-6.0
           变量名:CLASSPATH 变量值:D:\Tomcat-6.0\lib\jsp-api.jar;D:\Tomcat-6.0\lib\servlet-api.jar ,
        在刚才的基础上填上这两项,提倡用相对路径,还是那个原因,以后要是有改动,只需要改动一处就行了。%CATALINA%\lib\jsp-api.jar ,另一个同。
        然后打开Eclipse,window——>preferences——>MyEclipse Enterprice Workbench——>Servers——>Tomcat——>Tomcat 6.x 然后转到右边,
        点击第一个browse,找到tomcat所在目录,如D:\Tomcat-6.0 ,最上边单选enable ; 然后重新转到左边,打开Tomcat 6.x 的“+”号,点击JDK,
        选择自己的jdk,不要用Eclipse自带的。
           注意:  tomcat6.0以上可以不再依赖JDK运行,直接使用JRE即可

           但tomcat5.5以下,是必须安装JDK的。

     补充:这主要是由于,tomcat5.5及以下版本主要是依赖JDK去编译JSP文件生成class的。但Tomcat6.0使用了Eclipse的JDT技术,因此不再依赖JDK运行。

常见问题

一,tomcat启动时错误
1:The JAVA_HOME environment variable is not defined This environment variable is needed to run this program;
Re:没有在在tomcat的配置文件.bash_profile中设置环境变量JAVA_HOME,具体设置方法为:加入如下几行:
JAVA_HOME=/home/tomcat/j2sdk1.4.2_08(具体值要以实际的jdk安装路径为准)
export JAVA_HOMECLASSPATH=/home/tomcat/j2sdk1.4.2_08/lib/tools.jar:/home/tomcat/j2sdk1.4.2_08/lib/dt.jar
export CLASSPATH
2 Error occurred during initialization of VM Could not reserve enough space for object heap
Re:在tomcat的bin目录下,catalina.sh文件的tomcat内存参数配置过大,超过机器可用内存总数造成,修改到适当的值即可,修改的参数为
:JAVA_OPTS="-Xms50m -Xmx60m"
3 执行startup.sh文件后告诉地址已经使用,导致tomcat不能启动
Re:可能是前一次执行./shutdown.sh文件关闭tomcat时没有停止已经启动的java进程,而这个进程仍然在监听tomcat所使用的端口,或者有
另外一个tomcat正在运行,server.xml文件中的监听端口和当前tomcat冲突。
使用下面命令查看当前系统是否有正在监听的端口(8080--webcache, 90--www或http).
- 列出所有系统正在监听的端口和绑定的地址netstat -l
- 找出当前系统中的所有进程,管道符号过滤输出显示包含java字符串的行
ps -A |grep java
tty time proc
1021 ? java
- 结束一个指定的进程:
kill [进程号] 二、cannot connect to server:无法连接到服务器。这种情况是服务器的配置有问题,服务器无法承受过多的并发连接了,需要优化服务器的配置:
如操作系统采用更高版本,如windows 2003 server,
优化tomcat配置:maxThreads="500" minSpareThreads="400" maxSpareThreads="450"
但是tomcat 最多支持500个并发访问
优化apache配置:
ThreadsPerChild 1900
MaxRequestsPerChild 10000 三、 Action.c(10): Error -27791: Server has shut down the connection prematurely
HTTP Status-Code=503 (Service Temporarily Unavailable)
一般都是由于服务器配置不够好引起的,需要优化硬件和调整程序了。 四、无法处理请求:
当我们输入 ***.do 命令后,apache却返回错误信息,而连接tomcat却没有问题。原因是没有把.do命令转发给tomcat处理。解决方法如下:
在apache配置文件中配置如下内容:
JkMount /*.jsp loadbalancer
JkMount /*.do loadbalancer
4. 强制杀死一个进程:
kill -9 [进程号]
如果确定不是别的tomcat运行导致的冲突或者没有java进程运行可以再次运行startup.sh文件启动tomcat 五:tomcat 6 Ajax 操作时乱码
在server.xml 的connector 节点加入 useBodyEncodingForURI="true" 属性。 六:tomcat启动很慢
因为原因 org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom 产生JVM上的随机数与熵池策略花了太多时间
具体参考 http://hongjiang.info/tomcat-startup-slowly-in-docker/
直接在上面的-server参数下面放上脚本即可
if [[ "$JAVA_OPTS" != *-Djava.security.egd=* ]]; then
JAVA_OPTS="$JAVA_OPTS -Djava.security.egd=file:/dev/./urandom"
fi 八:java.sql.SQLException: null, message from server: "Host 'xxx.xxx.xxx.xxx' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts'"
在部署项目到Tomcat时,服务启动起来以后,但是不能够正常运行,查看Tomcat的日志发现如上错误。此错误的原因是,mysql已经得到了大量(max_connect_errors)的主机’hostname’的在中途被中断了的连接请求累计超过10次,就再也无法连接上mysqld服务。比如项目中的数据库密码一直是错误的,但是又不断的在服务器上部署,导致错误的链接信息超过了10次(系统默认),数据库便会阻止对应的Host进行链接,这是数据库的一个自我保护错失,防止被暴力破解密码。
解决办法:
① 重启数据库,或者在mysql下进行FLUSH HOSTS;操作。这两个操作的原理是刷新mysql的数据,清空错误的链接信息。
② 在mysql的配置文件下修改默认允许的最大错误连接数。
max_connect_errors = 10 //表示最大允许10次 九:java.lang.IllegalArgumentException: MALFORMED
自己在遇到这个问题的原因都是因为war包文件中出现了中文命名的文件(图片等),网上还有其他的问题原因和解决办法暂时还没有遇到。 十:.java.sql.SQLException: Connections could not be acquired from the underlying database!
由错误原因可以看出来,这是一个和SQL相关的错误。造成这个错误的原因有几个
a.数据库驱动配置错误
b.数据库连接地址出错
c.数据库的账号或者密码配置错误
d.数据库未启动或者权限不够
e.未引用对应的jar包
f.数据库账号没有远程访问权限
g.其他原因欢迎大家提出

2.JDK   

安装:http://*n.sogou.com/guide/detail/?id=1610006590

      选择需要版本的jdk下载--》不用修改里面的路径,直接点下一步,到尾即可

   环境变量配置:

      1. 设置环境变量3个: JAVA_HOME , CLASSPATH,PATH

      2.右键单击我的电脑,进入高级选项,点击环境变量,进入环境变量设置对话框;首先确定是否有这3个环境变量,点击新建添加/修改系统变量。

       3。新建JAVA_HOME变量:  C:\Program Files\Java\jdk1.6.0_43 (此值为JDK的安装位置)      

       4。新建classpath变量,值为:  .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar

       5。修改path变量,在末尾追加值  ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

注意:

  jdk的位数的选择:

    只要jdk和eclipse对应就OK了,例如32bit的JDK不能和64bit的eclipse使用,64bit本来就可以运行32bit的软件

3.ANT 

安装:     http://jingyan.baidu.com/article/e2284b2b45d193e2e6118dc6.html

配置环境变量:
window中设置ant环境变量:
ANT_HOME D:/ apache-ant-1.9.0
path D:/ apache-ant-1.9.0/bin
classpath D:/apache-ant-1.9.0/lib ant验证:win+R -- cmd
输入如下命令:ant
如果出现如下内容,说明安装成功:
Buildfile: build.xml does not exist!
Build failed
说明ant安装成功!因为ant默认运行build.xml文件,这个文件需要我们 建立。
查看版本:ant -version
  但如果出现
  'ant' 不是内部或外部命令,也不是可运行的程序或批处理文件
  说明安装失败:(可以重复前述步骤,直至安装成功。)
上一篇:Spring Framework简单介绍


下一篇:Java执行程序无法对任务进行排队