首页 > 后端开发 > 正文

启动tomcat 6的时候报错 Java问题:tomcat启动报错,如下!

2024-05-06 18:39:01 | 我爱编程网

今天我爱编程网小编整理了启动tomcat 6的时候报错 Java问题:tomcat启动报错,如下!相关信息,希望在这方面能够更好帮助到大家。

本文目录一览:

启动tomcat 6的时候报错 Java问题:tomcat启动报错,如下!

运行Java程序是Tomcat报的异常:org.springframework.beans.BeanInstantiationException:

配置有问题,错误是找不到javax/xml/registry/infomodel/User这个类。

Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

与传统程序不同,Sun 公司在推出 Java 之际就将其作为一种开放的技术。全球数以万计的 Java 开发公司被要求所设计的 Java 软件必须相互兼容。

“Java 语言靠群体的力量而非公司的力量”是 Sun 公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。

Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

Java 平台是基于 Java 语言的平台。这样的平台目前非常流行,因此微软公司推出了与之竞争的.NET平台以及模仿 Java 的 C#语言。

启动tomcat 6的时候报错 Java问题:tomcat启动报错,如下!

启动tomcat 6的时候报错

/首先检查程序有没有限入死循环

这个问题主要还是由这个问题 java.lang.OutOfMemoryError: Java heap space 引起的。第一次出现这样的的问题以后,引发了其他的问题。在网上一查可能是JAVA的堆栈设置太小的原因。

跟据网上的答案大致有这两种解决方法:

1、设置环境变量

解决方法:手动设置Heap size

修改TOMCAT_HOME/bin/catalina.sh

set JAVA_OPTS= -Xms32m -Xmx512m

可以根据自己机器的内存进行更改。

2、java -Xms32m -Xmx800m className

就是在执行JAVA类文件时加上这个参数,其中className是需要执行的确类名。(包括包名)

这个解决问题了。而且执行的速度比没有设置的时候快很多。

如果在测试的时候可能会用Eclispe 这时候就需要在Eclipse ->run -arguments 中的VM arguments 中输入-Xms32m -Xmx800m这个参数就可以了。

后来在Eclilpse中修改了启动参数,在VM arguments 加入了-Xms32m -Xmx800m,问题解决。

一、java.lang.OutOfMemoryError: PermGen space

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,

这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,

它和存放类实例(Instance)的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对

PermGen space进行清理,所以如果你的应用中有很多CLASS的话,就很可能出现PermGen space错误,

这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小

超过了jvm默认的大小(4M)那么就会产生此错误信息了。

解决方法: 手动设置MaxPermSize大小

修改TOMCAT_HOME/bin/catalina.sh

在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:

JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m

建议:将相同的第三方jar文件移置到tomcat/shared/lib目录下,这样可以达到减少jar 文档重复占用内存的目的。

二、java.lang.OutOfMemoryError: Java heap space

Heap size 设置

JVM堆的设置是指java程序运行过程中JVM可以调配使用的内存空间的设置.JVM在启动的时候会自动设置Heap size的值,

其初始空间(即-Xms)是物理内存的1/64,最大空间(-Xmx)是物理内存的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等选项可

进行设置。Heap size 的大小是Young Generation 和Tenured Generaion 之和。

提示:在JVM中如果98%的时间是用于GC且可用的Heap size 不足2%的时候将抛出此异常信息。

提示:Heap Size 最大不要超过可用物理内存的80%,一般的要将-Xms和-Xmx选项设置为相同,而-Xmn为1/4的-Xmx值。

解决方法:手动设置Heap size

修改TOMCAT_HOME/bin/catalina.sh

在“echo "Using CATALINA_BASE: $CATALINA_BASE"”上面加入以下行:

JAVA_OPTS="-server -Xms800m -Xmx800m -XX:MaxNewSize=256m"

三、实例,以下给出1G内存环境下java jvm 的参数设置参考:

JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "

很大的web工程,用tomcat默认分配的内存空间无法启动,如果不是在myeclipse中启动tomcat可以对tomcat这样设置:

TOMCAT_HOME/bin/catalina.bat 中添加这样一句话:

set JAVA_OPTS= -Xmx1024M -Xms512M -XX:MaxPermSize=256m

如果要在myeclipse中启动,上述的修改就不起作用了,可如下设置:

Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的

Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m

以上是转贴,但本人遇见的问题是:在myeclipse中启动Tomcat时,提示"ava.lang.OutOfMemoryError: Java heap space",解决办法就是:

Myeclipse->preferences->myeclipse->servers->tomcat->tomcat×.×->JDK面板中的

Optional Java VM arguments中添加:-Xmx1024M -Xms512M -XX:MaxPermSize=256m

转来的,你试试~

启动tomcat 6的时候报错 Java问题:tomcat启动报错,如下!

Java问题:tomcat启动报错,如下!

我爱编程网(https://www.52biancheng.com)小编还为大家带来Java问题:tomcat启动报错,如下!的相关内容。

原因:这个是JDK版本不对造成的。

解决方法:我爱编程网

1、即你用某版本的JDK编译的class,放在另一版本JDK上去运行,就容易发生这种异常了(常常是高版本编译在低版本上运行时发生)。

2、这里显然你的Tomcat用的JDK与你编译用的JDK不一样,换成一致的版本就OK了。

方法二:

1、在对应DaoImpl中加入sessionfactory的set方法、get方法。

private

SessionFactory

sessionFactory;

public

SessionFactory

getSessionFactory()

{

return

sessionFactory;

}

public

void

setSessionFactory(SessionFactory

sessionFactory)

{

this.sessionFactory

=

sessionFactory;

}

继承JdbcDaoSupport。

UserDaoImpl

extends

JdbcDaoSupport

以上,就是我爱编程网小编给大家带来的启动tomcat 6的时候报错 Java问题:tomcat启动报错,如下!全部内容,希望对大家有所帮助!更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“启动tomcat 6的时候报错 Java问题:tomcat启动报错,如下!”相关推荐
如何让tomcat启动时,就运行java
如何让tomcat启动时,就运行java

如何让tomcat启动时,就运行java一、创建Servlet在一个Web项目中创建一个Servlet,在web.xml文件中配置。将需要初始化的内容放在Servlet的init()方法实现。二、设置Servlet为自启动在web.xml文件中添加:<servlet>      <servlet-name>servlet的名字</s

2024-06-04 15:09:25
tomcat启动后会启动多少后台进程
tomcat启动后会启动多少后台进程

tomcat启动后会启动多少后台进程tomcat启动只会有一个进程,java进程。如果你使用linux,可以用ps看一下。当然那个启动用的sh也会占一个进程。不过即使被kill了,不会对运行造成任何影响。所以不能算。而至于线程就太多了。不同的tomcat版本,不同的配置都会造成不同的线程。另外如果发生了web访问,那么多个访问。会造成一定数量的访问处理的线程(应该比访问数远少。与配置

2024-04-14 22:12:05
java运行闪退,报错如下,是因为ole32.dll的问题吗
java运行闪退,报错如下,是因为ole32.dll的问题吗

java运行闪退,报错如下,是因为ole32.dll的问题吗嗯之前也遇到过你这样的问题第一种方案呢,就是根据源码,把它原来加载dll文件那块修改一下具体请参见System.load和System.loadLibrary详解第二种方案,也不太推荐,因为我们做的项目,到客户那边实施的时候太麻烦,就是将dll文件考到java的path下例如我的就拷贝到C:\ProgramFiles(x86)\Ja

2024-05-26 16:10:46
tomcat发布war包需要重启tomcat吗?
tomcat发布war包需要重启tomcat吗?

tomcat发布war包需要重启tomcat吗?如果开启了势部署,是不需要重启的,其实启动的只是一个context。其中一个误区要注意就是使用cmd命令:jar-cvftsqa.wartsqa打包项目的问题,不建议使用,实践后知道打包的目录结构和用eclips打包的目录结构不同,且打的包更重,结构不合理。 一开始遇到启动报错的问题,一般来说启动就报错是环境出问题了,换个版本的tomc

2024-07-03 16:50:58
请教大神,比如说我写了一个java程序,我想让tomcat启动时自动去执行这个java程序。如何实现?
请教大神,比如说我写了一个java程序,我想让tomcat启动时自动去执行这个java程序。如何实现?

请教大神,比如说我写了一个java程序,我想让tomcat启动时自动去执行这个java程序。如何实现?java有个Listener!随tomcat启动而调用自己写的方法!也可以循环调用!就是每过几小时掉用自己的方法web.xml<listener><listener-class>com.function.SysContextListener</listene

2024-04-12 14:03:09
java报错null是什么错误
java报错null是什么错误

java字符串录入数组后显示null?原因在于你最后for循环输出中i<length里的length取值有问题。你这段程序中,length取的是文件的大小,longlength=file.length()返回的是当前文件的所有字符的数量。假如你的文件里的内容是:第一行:a第二行:bc那么此时file.length()是多少呢?其实它是'a'、'\n'、'b'、'

2024-06-25 01:27:46
Java中如何让web服务器启动的时候自动运行web程序中某个类的某个
Java中如何让web服务器启动的时候自动运行web程序中某个类的某个

Java中如何让web服务器启动的时候自动运行web程序中某个类的某个1、首先让需要自动运行的类继承javax.servlet.http.HttpServlet2、把需要自动运行的类中写一个init方法。(servlet应用程序启动的入口就是init方法)public void init(){            System.out.println("这样在web容器启

2024-05-14 02:03:52
tomcat启环境需要网络吗
tomcat启环境需要网络吗

tomcat启环境需要网络吗需要。Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。该服务器启环境是需要网络的,使用SSH框架,在联网情况下,项目可以正常运行,当一旦断网,则启动服务器报错。java网络编程需要联网吗网络编程,一开始学习的是Socket编程,这是最原始的网络编程,这个只需要在java虚拟机中运行服

2024-03-19 08:54:06