在服务器中部署的javaweb项目隔段时间为啥会弹出Java(TM) Platform SE binary已停止工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在服务器中部署的javaweb项目隔段时间为啥会弹出Java(TM) Platform SE binary已停止工作相关的知识,希望对你有一定的参考价值。

运行eclipse,java(tm) platform se binary 已停止工作 出现了一个问题,导致程序停止正常工作。如下解决方式:
1.查看环境变量中Path的配置,确认%java_home%/bin在path值的第一个。
或者在cmd中输入echo %path%,其中的java配置对不对。
2.或者在cmd中输入echo %path%,看一下实际有效的path值是什么,其中的java配置对不对。标准path配置:E:\oraclexe\app\oracle\product\11.2.0\server\bin;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;E:\soft\apache-maven-3.1.0\bin
3.查看java_home配置:C:\Program Files\Java7\jdk1.7.0_51很明显,Path中Oracle 11在java前面,Oracle也带有JDK的,所以运行java -version其实查看到的是Oracle中的java版本,把%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;移动到最前面就可以解决问题。追问

刚刚查看了下path,里面有两个%JAVA_HOME%\在第一个的是%JAVA_HOME%\jre\bin;第二个才是%JAVA_HOME%\bin;,是吧%JAVA_HOME%\bin;移到jre前面来吗

参考技术A 凉州治所陇(甘肃清水县北),所辖今甘东东部

Javaweb Tomcat 项目部署方式

一、静态部署

1、直接将web项目文件件拷贝到webapps 目录中
     Tomcat的Webapps目录是Tomcat默认的应用目录,当服务器启动时,会加载所有这个目录下的应用。所以可以将JSP程序打包成一个 war包放在目录下,服务器会自动解开这个war包,并在这个目录下生成一个同名的文件夹。一个war包就是有特性格式的jar包,它是将一个web程序的所有内容进行压缩得到。具体如何打包,可以使用许多开发工具的IDE环境,如Eclipse等。也可以用 cmd 命令:jar -cvf mywar.war  myweb

 

 

在网址栏输入:http://localhost/crm/index.html


     webapps这个默认的应用目录也是可以改变。打开Tomcat的conf目录下的server.xml文件,找到下面内容:

<Host name="localhost" appBase="webapps"

       unpackWARs="true" autoDeploy="true"

       xmlValidation="false" xmlNamespaceAware="false">

将appBase修改即可。
2、在server.xml中指定
    在Tomcat的配置文件中,一个Web应用就是一个特定的Context,可以通过在server.xml中新建Context里部署一个JSP应用程序。打开server.xml文件,在Host标签内建一个Context,内容如下。

 


在tomcat中的conf目录中,在server.xml中的,<host/>节点中添加:
<Context path="crm" docBase="D:\\workspace\\myjavaweb\\webApp" debug="0" privileged="true">
</Context>


或者

<Context path="crm" reloadable="true" docBase="D:\\workspace\\myjavaweb" workDir="D:\\workspace\\myjavaweb\\webApp"/>

或者

<Context path="crm" docBase="D:\\workspace\\myjavaweb\\webApp"/>


说明:

path是虚拟路径;

docBase 是应用程序的物理路径;

workDir 是这个应用的工作目录,存放运行时生成的与这个应用相关的文件;

 

debug 则是设定debug level,  0表示提供最少的信息,9表示提供最多的信息

privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet

reloadable 如果为true,则tomcat会自动检测应用程序的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,可以在不重起tomcat的情况下改变应用程序,实现热部署

antiResourceLocking和antiJARLocking  热部署是需要配置的参数,默认false避免更新了某个webapp,有时候Tomcat并不能把旧的webapp完全删除,通常会留下WEB-INF/lib下的某个jar包,必须关闭Tomcat才能删除,这就导致自动部署失败。设置为true,Tomcat在运行对应的webapp时,会把相应的源文件和jar文件复制到一个临时目录里。
3、创建一个Context文件 ,不重启服务器就可以使用
  在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字可以随意取,xml的名字是message(message.xml),该xml文件的内容为:

<Context docBase="G:\\Java_web_frist" debug="0" privileged="true"/>





tomcat自带例子如下:

<Context docBase="${catalina.home}/server/webapps/host-manager"

         privileged="true" antiResourceLocking="false" antiJARLocking="false">

</Context>

这个例子是tomcat自带的,编辑的内容实际上和第二种方式是一样的,其中这xml文件名字就是访问路径,这样可以隐藏应用的真实名字。

4.缺省时访问,创建一个ROOT.xml的文件,配位完后一定要重启服务器才能生效

在conf目录中,新建 Catalina\localhost目录,在该目录中新建一个xml文件,名字不可以随意取,xml的名字一定是(ROOT.xml),该xml文件的内容为:

(注意)当前服务器端口为80端口


5、注意:

    删除一个Web应用同时也要删除webapps下相应的文件夹和server.xml中相应的Context,还要将Tomcat的conf\\catalina\\localhost目录下相应的xml文件删除,否则Tomcat仍会去配置并加载。。。

二 动态部署

     登陆tomcat管理控制台:http://localhost:8080/,输入用户名和密码后便可管理应用并动态发布。

     在Context Path(option):中输入/yourwebname ,这代表你的应用的访问地址。

     XML Configration file URL中要指定一个xml文件,比如我们在F:\\下建立一个hmcx.xml文件,内容如下: <Context reloadable="false" />其中docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填,在WAR or Directory URL:中键入F:\\hmcx即可,然后点击Deploy按钮,上面就可以看到了web应用程序,名字就Context Path(option):中的名字。

    如果部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,然后点击Deploy也可以。

部分内容来自:http://blog.csdn.net/caoyouxing/article/details/42644575

以上是关于在服务器中部署的javaweb项目隔段时间为啥会弹出Java(TM) Platform SE binary已停止工作的主要内容,如果未能解决你的问题,请参考以下文章

spring MVC开发中静态页面访问路径为啥出错

Java笔记---部署 JavaWeb 项目到云服务器

将javaweb项目部署到服务器中

如何在开发时部署和运行前后端分离的JavaWeb项目

Javaweb Tomcat 项目部署方式

web 项目部署