首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用java代码重启eclipse的tomcat服务器

如何使用java代码重启eclipse的tomcat服务器
EN

Stack Overflow用户
提问于 2019-11-22 15:03:59
回答 1查看 196关注 0票数 0

我在一个项目上工作,这是在ms word文档中写入ms access数据。当我多次运行此项目时,它会覆盖word文档,如下图所示。

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

代码语言:javascript
复制
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();

但它并没有像我想要的那样工作。所以我需要你的帮助。

公共静态空header_footer(String SalesOrder,String类型)抛出InvalidFormatException,IOException {

代码语言:javascript
复制
XWPFHeaderFooterPolicy headerFooterPolicy = document.getHeaderFooterPolicy();   

  if (headerFooterPolicy == null) headerFooterPolicy = document.createHeaderFooterPolicy();

  XWPFHeader header = headerFooterPolicy.createHeader(XWPFHeaderFooterPolicy.DEFAULT);
  XWPFTable asd= header.createTable(1, 2);
  asd.setTableAlignment(TableRowAlign.LEFT);
  XWPFTableRow row;
  XWPFTableCell cell,cell2;
  CTHeight ht;
  CTTrPr trPr;
  CTTblWidth cellWidth;
  row= asd.getRow(0);
  trPr = row.getCtRow().addNewTrPr();
  ht = trPr.addNewTrHeight();
  ht.setVal(BigInteger.valueOf(-1070));         
  cell=row.getCell(0);        

  XWPFParagraph parag=document.createParagraph();
  parag = cell.getParagraphArray(0);
  XWPFRun r1=parag.createRun();

    //InputStream pic = new FileInputStream(imgFile2);
    /*  FileReader fileReader = new FileReader(imgFile2);
      BufferedReader bufferedReader = new BufferedReader(fileReader);*/
    //InputStream pic = new BufferedInputStream(new FileInputStream(imgFile2));

    // BufferedReader reader = new BufferedReader(new InputStreamReader(pic));
     // Image jpg = Image.getInstance("/pages/jpg/bg-header.jpg");

     /* URL imgLogoUrl = access.getClass().getProtectionDomain().getCodeSource().getLocation();
      Image imgLogo= Image.getInstance(imgLogoUrl+"../../images/logo.JPG");  
      */
  InputStream pic = access_connection.class.getResourceAsStream("page1_header.png");

  //InputStream pic = new URL(imgFile2).openStream();

  r1.addPicture(pic, XWPFDocument.PICTURE_TYPE_PNG, imgFile2, Units.toEMU(160), Units.toEMU(55)); 


    cellWidth = cell.getCTTc().addNewTcPr().addNewTcW();            
    cellWidth.setW(BigInteger.valueOf(3500));
    cell2=row.getCell(1);
    cellWidth = cell2.getCTTc().addNewTcPr().addNewTcW();           
    cellWidth.setW(BigInteger.valueOf((short)20000));


parag=cell2.getParagraphArray(0);
parag.setVerticalAlignment(TextAlignment.CENTER);
parag.setAlignment(ParagraphAlignment.CENTER);
cell2.setVerticalAlignment(XWPFVertAlign.CENTER);
XWPFRun r2=parag.createRun();
r2.setFontSize(14);
r2.setFontFamily("Calibri");
r2.setText("TURKISH ENGINE CENTER SHOP VISIT REPORT");
r2.addBreak();
r2.setText("ESN "+SalesOrder.substring(1, 7)+"                         Istanbul,TURKEY");



//  headerFooterPolicy.getFirstPageHeader().clearHeaderFooter();

XWPFParagraph paragraph = header.createParagraph();
paragraph.setAlignment(ParagraphAlignment.CENTER);


XWPFRun run = paragraph.createRun();  

InputStream a;
XWPFFooter footer = headerFooterPolicy.createFooter(XWPFHeaderFooterPolicy.DEFAULT);
XWPFParagraph parag2= footer.createParagraph();
XWPFRun run3=parag2.createRun();
XWPFRun run4=parag2.createRun();
run3.setFontFamily("Arial");
run4.setFontFamily("Arial");
run3.setBold(true);
run4.setItalic(true);
run3.setFontSize(8);
run4.setFontSize(9);
run3.setText("U.S. Export Classification: EAR ECCN 9E991");
run3.addBreak();
run4.setText("Printed by TEC Local EVM System");
XWPFParagraph parag3= footer.createParagraph();
XWPFRun run5=parag3.createRun();
parag3.setAlignment(ParagraphAlignment.RIGHT);
run5.setFontSize(7);
run5.setFontFamily("Arial");
run5.setText("Page ");
run5.getCTR().addNewPgNum();


try {


        FileOutputStream input = new FileOutputStream(word_saveas_file+SalesOrder+"_"+type+"_Report.docx");

        document.write(input);
        input.close();  

} catch (FileNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

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

EN

回答 1

Stack Overflow用户

发布于 2019-11-22 16:06:59

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

添加以下代码:

代码语言:javascript
复制
try {
    Runtime.getRuntime().exec("taskkill /F /IM java.exe");
    System.exit(0);
} catch (Throwable e) {
    Logger.handle(e);
}    

以下是帮助您如何创建windows服务的链接:http://dotnetlearners.com/windowsservice/creating-first-windows-service

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

代码语言:javascript
复制
    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);
  }

然后在通过java关闭服务器后调用您的服务,就像这样。

代码语言:javascript
复制
try {
    Runtime.getRuntime().exec("taskkill /F /IM java.exe");
   Runtime.getRuntime().exec("net start servicename");
    System.exit(0);
} catch (Throwable e) {
    Logger.handle(e);
}  
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58989144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档