如何重新启动eclipse';使用java代码的tomcat服务器

如何重新启动eclipse';使用java代码的tomcat服务器,java,eclipse,tomcat,Java,Eclipse,Tomcat,我正在从事一个项目,该项目正在ms word文档中编写ms access数据。当我不止一次运行这个项目时,它会像下面这样覆盖word文档 第一次运行项目时,一切正常,但第二次它会覆盖第一次。我想如果我重新启动服务器或应用程序,问题就会得到解决。为此,我编写了以下代码 try { Socket socket=new Socket("localhost",8080); if(socket.isConnected()) {

我正在从事一个项目,该项目正在ms word文档中编写ms access数据。当我不止一次运行这个项目时,它会像下面这样覆盖word文档

第一次运行项目时,一切正常,但第二次它会覆盖第一次。我想如果我重新启动服务器或应用程序,问题就会得到解决。为此,我编写了以下代码

try {
            Socket socket=new Socket("localhost",8080);
            if(socket.isConnected())
            {
                socket.close();
                System.out.println("Server closed");
            }

            Runtime.getRuntime().exec(System.getProperty("catalina.home")+"\\bin\\startup.bat");
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
但它没有像我想的那样起作用。所以我需要你的帮助

公共静态无效页眉\页脚(字符串SalesOrder,字符串类型)引发InvalidFormatException,IOException {


这是我的页眉-页脚代码。它是其中一个被覆盖的代码。每次我创建不同的word文档时,因为
SalesOrder
参数每次都在更改,但仍然被覆盖。

尝试以编程方式启动批处理脚本:

包括以下代码:

try {
    Runtime.getRuntime().exec("taskkill /F /IM java.exe");
    System.exit(0);
} catch (Throwable e) {
    Logger.handle(e);
}    
以下链接可帮助您创建windows服务:

下面是如何通过c查看您的服务代码源代码#

然后在你通过java关闭你的服务器之后,你调用你的服务

try {
    Runtime.getRuntime().exec("taskkill /F /IM java.exe");
   Runtime.getRuntime().exec("net start servicename");
    System.exit(0);
} catch (Throwable e) {
    Logger.handle(e);
}  

您能提供用于生成文档的代码吗?问题可能出在代码中。在我看来,重新启动服务器可能没有帮助,只是一个补丁,而不是问题的解决方案。很好,它正在停止tomcat,但在停止后我如何重新启动tomcat。您正在使用windows,对吗?您可以nch windows上的一个服务,在您杀死java.exe时检查tomcat是否启动,如果tomcat未启动,则通过cmd行启动服务器并停止此服务所有必须在bat文件中完成的工作好的,我得到了,我会尝试。希望这能帮助您实现您想要的
    protected override void OnStart(string[] args)
  {
   if (!File.Exists(fileLocation))
       File.Create(fileLocation).Close();
   File.AppendAllText(fileLocation, "Service started : " + DateTime.Now.ToString() + Environment.NewLine);
   System.Diagnostics.Process.Start(@"C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\startup.exe");
   OnStop();
  }

  protected override void OnStop()
  {
   File.AppendAllText(fileLocation, "Service stoped : " + DateTime.Now.ToString() + Environment.NewLine);
  }
try {
    Runtime.getRuntime().exec("taskkill /F /IM java.exe");
   Runtime.getRuntime().exec("net start servicename");
    System.exit(0);
} catch (Throwable e) {
    Logger.handle(e);
}