วิธีสร้างบริการ windows จากแอพ java


220

ฉันเพิ่งได้รับแอปพลิเคชัน java ที่ต้องติดตั้งเป็นบริการใน XP และ vista เป็นเวลาประมาณ 8 ปีแล้วที่ฉันใช้ windows ในรูปแบบใด ๆ และฉันไม่เคยต้องสร้างบริการเลยแม้แต่อย่างเดียวจากแอปพลิเคชัน java (ฉันมี jar สำหรับแอพและ jar พึ่งพาตัวเดียว - log4j ) อะไรคือความมหัศจรรย์ที่จำเป็นสำหรับการให้บริการนี้? ฉันมีแหล่งที่มาดังนั้นการแก้ไขโค้ดแม้ว่าจะหลีกเลี่ยงได้ควรเป็นไปได้


ข้อเสนอแนะอื่นstackoverflow.com/a/9262081/381897
— bhdrkn

1
เพื่อความสมบูรณ์: ที่นี่serverfault.com/a/259195กล่าวว่าแอปจำเป็นต้องตอบกลับการเรียกกลับของตัวจัดการควบคุมบริการ อ่านบทช่วยสอนนี้โดยใช้ Procrun ticklingmind.blogspot.com/2010/03/…
— Broken_Window

คำตอบอื่น ๆstackoverflow.com/questions/5953525/…
— Ravi Parekh

คำตอบ:


69

ฉันโชคดีกับJava Service Wrapper


11
Java Service Wrapper ดูมีประโยชน์มาก แต่ฉันได้ดูรายการคุณสมบัติ คุณเพียงแค่ต้องระวังว่ารุ่นชุมชนไม่ได้รับอนุญาตให้ใช้บนเซิร์ฟเวอร์
— Brian Matthews

นั่นอาจเป็นปัญหา ไม่กี่ปีที่ผ่านมาฉันใช้มัน คิดว่าพวกเขาตัดสินใจที่จะเรียกเก็บเงิน
— sblundy

wrapper นี้ถูกใช้โดยโครงการโอเพนซอร์ซจำนวนมากรวมถึงโครงการที่เกี่ยวกับ Jakarta Apache เช่น ActiveMQ
— ทอดด์

7
wrapper.tanukisoftware.org/doc/english/licenseCommunity.html การ ใช้แหล่งข้อมูลปิด GPL ไม่ได้ จำกัด การพัฒนาซอฟต์แวร์ส่วนตัวสำหรับการใช้งานภายในซึ่งขึ้นอยู่กับซอฟต์แวร์ภายใต้ GPL ตราบใดที่ซอฟต์แวร์นั้นไม่เคยเผยแพร่ แอปพลิเคชันทั้งหมดพร้อมใช้งานสำหรับผู้ใช้ทั้งหมด ในขณะที่เราสนับสนุนให้ผู้ใช้องค์กรและหน่วยงานรัฐบาลใช้ประโยชน์จากข้อตกลงใบอนุญาตเซิร์ฟเวอร์หรือการพัฒนาข้อตกลงสิทธิ์การใช้งานชุมชนนั้นยอมรับได้ตราบใดที่แอปพลิเคชันสำหรับใช้ภายในหรือจะแจกจ่ายพร้อมกับ src แบบเต็มเสมอ
— วลาดิมีร์

1
@Vladimir tanuki wrapper ไม่เปิดมาแล้วสำหรับ 64bit arch
— gerrytan

100

Apache Commons Daemonเป็นทางเลือกที่ดี มีProcrunสำหรับบริการ windows และJsvcสำหรับ unix daemons มันใช้สิทธิ์การใช้งาน Apache ที่ จำกัด น้อยกว่าและ Apache Tomcat ใช้เป็นส่วนหนึ่งของตัวเองเพื่อรันบน Windows และ Linux! เพื่อให้มันทำงานเป็นเรื่องยุ่งยากเล็กน้อย แต่มีบทความครบถ้วนสมบูรณ์พร้อมตัวอย่างการทำงาน

นอกจากนั้นคุณอาจดู bin \ service.bat ในApache Tomcatเพื่อรับทราบวิธีการตั้งค่าบริการ ใน Tomcat พวกเขาเปลี่ยนชื่อ Procrun ไบนารี (prunsrv.exe -> tomcat6.exe, prunmgr.exe -> tomcat6w.exe)

สิ่งที่ฉันพยายามใช้ Procrun วิธีการเริ่มและหยุดของคุณต้องยอมรับพารามิเตอร์ (String [] argv) ตัวอย่างเช่น "start (String [] argv)" และ "stop (String [] argv)" จะใช้งานได้ แต่ "start ()" และ "stop ()" อาจทำให้เกิดข้อผิดพลาด หากคุณไม่สามารถแก้ไขการโทรเหล่านั้นได้ให้ลองสร้างคลาส bootstrapper ที่สามารถนวดการโทรเหล่านั้นให้เหมาะกับความต้องการของคุณ


ด้วยการไตร่ตรองคุณอาจแก้ไขปัญหาที่คุณระบุไว้ในย่อหน้าสุดท้าย นอกจากนี้ apache commons daemon เป็น wrapper เดียวที่ฉันรู้จักซึ่งมีไบนารี 64 บิตที่สร้างไว้ล่วงหน้าสำหรับการใช้งานฟรี
— djangofan

คุณต้องคืนค่าขนส่งระหว่างตัวเลือก JVM แต่ละรายการ ตัวอย่างเช่นถ้าคุณอยู่ในบรรทัดเดียวกัน -Dopt1 = a -Dopt2 = b มันอาจไม่ทำงาน --JvmOptions=-Dopt=a#-Dopt2=bการแก้ไขปัญหานั้นคุณจะต้องเขียน ฉันเรียกใช้คำสั่งจากสคริปต์ ant และต่อสู้เพื่อวันเนื่องจากการที่ หวังว่ามันจะช่วย
— ซิดนีย์

บทความที่คุณพูดคุยเกี่ยวกับไม่มีอีกต่อไป ... คุณยังมีวิธีที่จะได้รับมันได้หรือไม่ ฉันมีปัญหาในการรับ Apache Commons Daemon เพื่อทำสิ่งที่ฉันต้องการ
— 11101101b

3
@ 11101101b, Apache ดูเหมือนว่าจะมีความกล้าที่แนบมาของบทความของมันหน้าวิกิพีเดียของตัวเอง ...
— ลูคัส

@ ชุมชนวิกิฉันใช้Apache Commons Daemonสำหรับเครื่อง windows 64 บิตมันเพิ่มบริการสำเร็จ ในขณะที่ฉันใช้กระบวนการเดียวกันสำหรับเครื่อง windows 7 แบบ 32 บิตมันไม่สามารถเพิ่มบริการได้
— Shakthi

59

ด้วยApache Commons Daemonตอนนี้คุณสามารถมีชื่อและไอคอนที่กำหนดเองได้! นอกจากนี้คุณยังสามารถรับการตรวจสอบถาด Windows ที่กำหนดเองด้วยชื่อและไอคอนของคุณเอง!

ตอนนี้ฉันมีบริการของฉันทำงานด้วยชื่อและไอคอนของฉันเอง (prunsrv.exe) และจอภาพของถาดระบบ (prunmgr.exe) ก็มีชื่อและไอคอนที่กำหนดเองเช่นกัน!

  1. ดาวน์โหลดApache Commons Daemon ไบนารี (คุณจะต้อง prunsrv.exe และ prunmgr.exe)
  2. เปลี่ยนชื่อพวกเขาเป็นMyServiceName.exeและMyServiceNamew.exeตามลำดับ
  3. ดาวน์โหลดWinRun4Jและใช้RCEDIT.exeโปรแกรมที่มาพร้อมกับมันเพื่อแก้ไข Apache ที่สามารถใช้งานได้เพื่อฝังไอคอนที่คุณกำหนดเองดังนี้:

    > RCEDIT.exe /I MyServiceName.exe customIcon.ico
    > RCEDIT.exe /I MyServiceNamew.exe customTrayIcon.ico
  4. ตอนนี้ติดตั้งบริการ Windows ของคุณเช่นนี้ (ดูเอกสารประกอบสำหรับรายละเอียดและตัวเลือกเพิ่มเติม):

    > MyServiceName.exe //IS//MyServiceName \
      --Install="C:\path-to\MyServiceName.exe" \
      --Jvm=auto --Startup=auto --StartMode=jvm \
      --Classpath="C:\path-to\MyJarWithClassWithMainMethod.jar" \
      --StartClass=com.mydomain.MyClassWithMainMethod
  5. ตอนนี้คุณมีบริการ Windows ของ Jar ที่จะทำงานด้วยไอคอนและชื่อของคุณเอง! คุณยังสามารถเปิดไฟล์มอนิเตอร์และมันจะทำงานในซิสเต็มเทรย์พร้อมไอคอนและชื่อของคุณเอง


1
ฉันทำทุกอย่างตามวิธีการของคุณ แต่ไม่เปลี่ยนไอคอน systray .. ความคิดใด ๆ ว่าทำไม?
— outofBounds

ขออภัย @outofBounds ฉันไม่เห็นความคิดเห็นของคุณจนกระทั่งตอนนี้ โปรแกรม RCEDIT.exe คือสิ่งที่ปรับเปลี่ยนไอคอนของบริการที่ปฏิบัติการได้ของคุณ ตรวจสอบให้แน่ใจว่าคุณมีไฟล์. ico ที่ถูกต้องโดยกำหนดแต่ละขนาดอย่างเหมาะสม คุณสามารถดูวิธีสร้างไฟล์. ico ที่เหมาะสมได้ที่นี่: stackoverflow.com/questions/4354617/…
— 11101101b

2
เพื่อให้คุณรู้ว่าคุณไม่สามารถมีช่องว่างในชื่อบริการ
— 11101101b

1
ใช่ @Shakthi ทำงานได้ดีบน Windows XP รุ่น 32 และ 64 บิต, 7, 8, 8.1, Server 2003, 2008, และ 2012
— 11101101b

1
ใช่ @Syamsoul Azrein ใช้งานได้ดีในวันที่ 10 และเซิร์ฟเวอร์ทุกรุ่น
— 11101101b

31

วิธีง่ายๆคือNSSM Wrapper Wrapper ( ดูบล็อกของฉัน )


7
NSSM ROCKS! ฉันทำ wrapper ได้ง่ายแม้จากโปรแกรม java ของฉัน ง่ายน้ำหนักเบาทำงานได้ดี - 100kb! ขอบคุณ!
— cynepnaxa

1
ตัวอย่างเช่นวิธีการใช้ NSSM Wrapper เพื่อเริ่มโปรแกรม Java (ฉันใช้ HelioSearch) เป็นบริการ windows ในพื้นหลังในการเริ่มต้นระบบ?
— Krunal

@GiordanoMaestro ไม่สามารถเข้าถึงบล็อกของคุณได้อีกต่อไป คุณมีลิงค์อื่นหรือไม่?
— Matthieu

2
เมื่อเปรียบเทียบกับ Apache Commons Daemon, wrapper.tanukisoftware.org, & yajsw, NSSM เป็นตัวเลือกที่เร็วที่สุด & ง่ายที่สุดสำหรับการเปลี่ยนแอปพลิเคชัน java อย่างง่ายให้กลายเป็นบริการ windows
— Jeffrey Knight

ฉันกำลังพยายามใช้ NSSM เพื่อเรียกใช้ jar ที่รันได้ในฤดูใบไม้ผลิของฉัน ฉันได้รับข้อผิดพลาดนี้ "สถานะที่ไม่คาดหวัง SERVICE_PAUSED เพื่อตอบสนองต่อการควบคุม START"
— Kiran Kumar

26

หนึ่งในตัวเลือกมากขึ้นคือWinRun4J นี่เป็นตัวเรียกใช้งานจาวาที่สามารถกำหนดค่าได้ซึ่งเพิ่มเป็นสองเท่าเป็นโฮสต์บริการของ Windows (ทั้งรุ่น 32 และ 64 บิต) เป็นโอเพ่นซอร์สและไม่มีข้อ จำกัด ในการใช้งาน

(การเปิดเผยเต็มรูปแบบ: ฉันทำงานในโครงการนี้)


3
ขอบคุณสำหรับสิ่งนี้. ฉันได้ลอง YAJWS และก่อนอื่นมันทำให้ฉันกลัวด้วยการดาวน์โหลด 19mb และหลังจากที่ฉันทำตามคำแนะนำแล้วก็พบว่า "ข้อผิดพลาดการแยกวิเคราะห์บรรทัดคำสั่ง" ฉันดู PROCRUN และมันยุ่งยากเกินไปสำหรับการตั้งค่าอย่างรวดเร็ว INSTSRV / SRVANY ต้องการการเปลี่ยนแปลงรีจิสทรี! Launch4J บรรจุ JAR ไว้ใน EXE ดังนั้นจึงทำให้การปรับใช้มีความซับซ้อน WinRun4J เป็นแบบที่สมบูรณ์แบบ ข้อเสียเปรียบเพียงอย่างเดียวคือมันต้องมีคลาสพิเศษสำหรับการทำงานเป็นบริการ (แทนที่จะเรียกคลาสหลักมาตรฐานเพียงอย่างเดียว) แต่โดยรวมแล้วมันสมบูรณ์แบบ 99%
— fernacolo

2
FYI เวอร์ชันล่าสุดมีเสื้อคลุมสำหรับคลาสหลักมาตรฐาน
— Peter Smith

สวัสดีคุณช่วยยกตัวอย่างที่อธิบายวิธีใช้สิ่งนี้ได้ไหม ฉันต้องการใช้มันเพื่อเริ่มต้นอินสแตนซ์ของ HelioSearch เป็นบริการ windows พื้นหลังเมื่อเริ่มต้นระบบ
— Krunal

17

อีกคำตอบหนึ่งคือYet Another Java Service Wrapperนี่เป็นทางเลือกที่ดีสำหรับ Java Service Wrapper เนื่องจากมีสิทธิ์ใช้งานที่ดีกว่า นอกจากนี้ยังมีจุดประสงค์เพื่อให้ง่ายต่อการย้ายจาก JSW ไปยัง YAJSW แน่นอนว่าสำหรับฉันแล้วเซิร์ฟเวอร์ใหม่ของ windows และพยายามทำให้แอป Java ทำงานเป็นบริการมันใช้งานง่ายมาก

ฉันพบคนอื่น แต่ไม่ได้ใช้:

  • Java Service Launcherฉันไม่ได้ใช้สิ่งนี้เพราะมันซับซ้อนกว่าที่จะทำงานได้มากกว่า YAJSW ฉันไม่คิดว่านี่เป็นเสื้อคลุม
  • JSmoothสร้างบริการหน้าต่างไม่ได้เป็นเป้าหมายหลักของมัน แต่สามารถทำได้ ฉันไม่ได้ใช้สิ่งนี้เพราะไม่มีกิจกรรมตั้งแต่ปี 2550

+1 จากฉันเนื่องจากนี่เป็นวิธีแก้ปัญหาที่เร็วที่สุดสำหรับฉัน "ออกจากกล่อง" และไม่จำเป็นต้องทำการแก้ไขแอป java ซึ่งเป็นข้อดีที่แน่นอน
— Green Day

ฉันพบแผนภูมิเปรียบเทียบที่น่าสนใจมากซึ่งเปรียบเทียบ YAJSW กับบริการห่อข้อมูลทั่วไปอื่น ๆ yajsw.sourceforge.net/#mozTocId284533
— Green

6

ฉันคิดว่าJava Service Wrapperทำงานได้ดี โปรดทราบว่ามีสามวิธีในการรวมแอปพลิเคชันของคุณ ดูเหมือนว่าตัวเลือก 1 จะทำงานได้ดีที่สุดสำหรับคุณเนื่องจากคุณไม่ต้องการเปลี่ยนรหัส ไฟล์การกำหนดค่าอาจบ้าไปหน่อย แต่โปรดจำไว้ว่า (สำหรับตัวเลือก 1) โปรแกรมที่คุณกำลังเริ่มต้นและที่คุณจะระบุอาร์กิวเมนต์คือโปรแกรมตัวช่วยซึ่งจะเริ่มโปรแกรมของคุณ พวกเขามีไฟล์การกำหนดค่าตัวอย่างสำหรับสิ่งนี้


5

ถ้าคุณใช้ Gradle รูปร่างเครื่องมือคุณสามารถลองของฉันหน้าต่างบริการปลั๊กอินซึ่งอำนวยความสะดวกในการใช้Apache Commons ภูต Procrun

ในการสร้างแอปพลิเคชันบริการ Java windows ด้วยปลั๊กอินคุณต้องทำตามขั้นตอนง่าย ๆ หลายขั้นตอน

  1. สร้างคลาสบริการหลักด้วยวิธีการที่เหมาะสม

    public class MyService {
    
        public static void main(String[] args) {
            String command = "start";
            if (args.length > 0) {
                command = args[0];
            }
            if ("start".equals(command)) {
                // process service start function
            } else {
                // process service stop function
            }
        }
    
    }
  2. รวมปลั๊กอินเข้าไปในbuild.gradleไฟล์ของคุณ

    buildscript {
      repositories {
        maven {
          url "https://plugins.gradle.org/m2/"
        }
      }
      dependencies {
        classpath "gradle.plugin.com.github.alexeylisyutenko:windows-service-plugin:1.1.0"
      }
    }
    
    apply plugin: "com.github.alexeylisyutenko.windows-service-plugin"

    ตัวอย่างสคริปต์เดียวกันสำหรับกลไกใหม่, การบ่ม, ปลั๊กอินที่แนะนำใน Gradle 2.1:

    plugins {
      id "com.github.alexeylisyutenko.windows-service-plugin" version "1.1.0"
    }
  3. กำหนดค่าปลั๊กอิน

    windowsService {
      architecture = 'amd64'
      displayName = 'TestService'
      description = 'Service generated with using gradle plugin'   
      startClass = 'MyService'
      startMethod = 'main'
      startParams = 'start'
      stopClass = 'MyService'
      stopMethod = 'main'
      stopParams = 'stop'
      startup = 'auto'
    }
  4. รันภารกิจ gradle createWindowsService เพื่อสร้างการกระจายเซอร์วิส windows

นั่นคือทั้งหมดที่คุณต้องทำเพื่อสร้างบริการ windows อย่างง่าย ปลั๊กอินจะดาวน์โหลดไบนารี Apache Commons Daemon Procrun โดยอัตโนมัติแยกไบนารีนี้ไปยังไดเรกทอรีการกระจายบริการและสร้างไฟล์แบตช์สำหรับการติดตั้ง / ถอนการติดตั้งของบริการ

ใน${project.buildDir}/windows-serviceไดเรกทอรีคุณจะพบบริการที่ปฏิบัติการสคริปต์ชุดสำหรับการติดตั้ง / ถอนการติดตั้งของบริการและไลบรารีรันไทม์ทั้งหมด การติดตั้งเรียกใช้บริการและหากคุณต้องการที่จะถอนการติดตั้งเรียกใช้บริการ<project-name>-install.bat <project-name>-uninstall.batในการเริ่มและหยุดการให้บริการให้ใช้<project-name>w.exeปฏิบัติการได้

โปรดทราบว่าวิธีการจัดการบริการเริ่มควรสร้างและเริ่มเธรดแยกต่างหากเพื่อดำเนินการประมวลผลแล้วส่งคืน วิธีการหลักถูกเรียกใช้จากเธรดที่แตกต่างกันเมื่อคุณเริ่มและหยุดบริการ

สำหรับข้อมูลเพิ่มเติมโปรดอ่านเกี่ยวกับปลั๊กอินและ Apache Commons Daemon Procrun


คำตอบที่ต่ำกว่าเกณฑ์!
— TaylanUB



3

มันง่ายอย่างที่คุณต้องใส่ทางลัด

Windows 7 C:\users\All Users\Start Menu\Programs\Startup (ผู้ดูแลระบบ) หรือUser home directory(%userProfile%)

Windows 10: อยู่ ในระหว่างดำเนินการ shell:startup

ในทรัพย์สิน -> ทางลัด -> เป้าหมาย -> java.exe -jar D:\..\runJar.jar

หมายเหตุ: สิ่งนี้จะทำงานหลังจากคุณเข้าสู่ระบบเท่านั้น


ด้วยสิทธิ์ของผู้ดูแลระบบ

sc create serviceName binpath= "java.exe -jar D:\..\runJar.jar" จะสร้างบริการ windows

ถ้าคุณใช้การหมดเวลาcmd /c D:\JAVA7~1\jdk1.7.0_51\bin\java.exe -jar d:\jenkins\jenkins.warแต่ถึงอย่างนี้คุณจะได้รับการหมดเวลา แต่ในพื้นหลัง java.exe จะเริ่มขึ้น เช็คอินตัวจัดการงาน

หมายเหตุ: สิ่งนี้จะทำงานเมื่อเริ่มต้นการเข้าสู่ระบบของ windows (ก่อนลงชื่อเข้าใช้อ้างอิงจากบริการ ' Startup Type')

คำอธิบายโดยละเอียดของการสร้างบริการ windows


3

ด้วย Java 8 เราสามารถจัดการสถานการณ์นี้ได้โดยไม่ต้องใช้เครื่องมือภายนอก เครื่องมือjavapackagerที่มาพร้อมกับ java 8 มีตัวเลือกในการสร้างบันเดิลแอพพลิเคชั่นในตัว:

ชนิดดั้งเดิมสร้างบันเดิลแอปพลิเคชันที่มีในตัวเอง (ถ้าเป็นไปได้) ใช้อ็อพชัน -B เพื่อระบุอาร์กิวเมนต์ให้กับบันเดิลที่ถูกใช้ หากระบุประเภทจะมีการสร้างมัดประเภทนี้เท่านั้น หากไม่ได้ระบุชนิดจะใช้ทั้งหมด

ค่าต่อไปนี้ถูกต้องสำหรับประเภท:

-native type
Generate self-contained application bundles (if possible). Use the -B option to provide arguments to the bundlers being used. If type is specified, then only a bundle of this type is created. If no type is specified, all is used.

The following values are valid for type:

all: Runs all of the installers for the platform on which it is running, and creates a disk image for the application. This value is used if type is not specified.
installer: Runs all of the installers for the platform on which it is running.
image: Creates a disk image for the application. On OS X, the image is the .app file. On Linux, the image is the directory that gets installed.
dmg: Generates a DMG file for OS X.
pkg: Generates a .pkg package for OS X.
mac.appStore: Generates a package for the Mac App Store.
rpm: Generates an RPM package for Linux.
deb: Generates a Debian package for Linux.

ในกรณีที่หน้าต่างอ้างถึงเอกสารต่อไปนี้เราสามารถสร้าง msi หรือ exe ได้ตามต้องการ

exe: Generates a Windows .exe package.
msi: Generates a Windows Installer package.

5
คำตอบนี้ไม่ได้ตอบคำถาม ไม่สามารถใช้ javapackager เพื่อสร้างบริการ windows ได้โดยตรง แต่ควรสร้างไฟล์ปฏิบัติการที่มีอยู่ในตัวเองเช่นมี jre และทรัพยากรอื่น ๆ
— tobias_

3

ใช้ " winsw " ซึ่งเขียนขึ้นสำหรับ Glassfish v3 แต่ทำงานได้ดีกับโปรแกรม Java โดยทั่วไป

ต้องใช้. NET runtime ติดตั้ง


ในขณะที่รุ่นปัจจุบัน (ดูแลโดยที่รู้จักกันดี Kohsuke Kawaguchi) ตั้งอยู่ที่นี่
— FrVaBe

ดูเหมือนว่าเขาย้ายไปยัง GitHub หลังจากรุ่น 1.9 (ส่วนใหญ่เมื่อเขาจาก Oracle ไป Cloudbees)
— Thorbjørn Ravn Andersen

2

ฉันใช้JavaServiceมาก่อนด้วยความสำเร็จ มันไม่ได้รับการปรับปรุงในสองสามปีที่ผ่านมา แต่มันกลับแข็งเมื่อฉันใช้มัน


GForge ถูกยกเลิก
— lww

2

ฉันไม่ชอบการให้สิทธิ์ใช้งาน Java Service Wrapper ฉันไปกับ ActiveState Perl เพื่อเขียนบริการที่ใช้งานได้

ฉันคิดถึงการเขียนบริการใน C # แต่ข้อ จำกัด ด้านเวลาของฉันแน่นเกินไป


คุณสามารถให้ตัวอย่างแฮ็คที่คุณได้ทำด้วย "perl" .. !
— peaceUser

2

ฉันใช้ sc.exe ทุกครั้ง (ดูhttp://support.microsoft.com/kb/251192 ) ควรติดตั้งบน XP จาก SP1 และหากไม่ใช่ใน Vista คุณสามารถดาวน์โหลดได้ด้วยชุดทรัพยากร Vista

ฉันไม่ได้ทำอะไรซับซ้อนเกินไปกับ Java แต่ใช้อาร์กิวเมนต์บรรทัดคำสั่งที่ผ่านการรับรองอย่างสมบูรณ์ (x: \ java.exe .... ) หรือสร้างสคริปต์ด้วย Ant เพื่อรวมการพึ่งพาและการตั้งค่าพารามิเตอร์ทำงานได้ดีสำหรับฉัน


1
ที่ช่วยให้คุณเริ่มบางสิ่งบางอย่างเป็นบริการ แต่ในความเข้าใจของฉันมันจะถูกถอดออกเช่นคุณไม่สามารถหยุดมันผ่านบริการหรือรีสตาร์ทโดยอัตโนมัติ ฯลฯ ฉันอาจผิดอย่างสมบูรณ์แม้ว่า - เพียงแค่เริ่มมองหาสิ่งนี้
— atomicules

1

ตัวเลือกที่ดีอีกประการหนึ่งคือFireDaemon มันถูกใช้โดยร้านค้าขนาดใหญ่บางแห่งเช่น NASA, IBM และอื่น ๆ ดูเว็บไซต์ของพวกเขาสำหรับรายการทั้งหมด


1

ขณะนี้ฉันต้องการให้เรียกใช้แอปพลิเคชันที่ใช้ Eclipse แต่ฉันต้องตั้งค่าตัวแปรบางอย่างก่อนที่จะเป็นแอปพลิเคชันนั้น sc.exe จะอนุญาตให้ executables แต่ไม่สคริปต์เพื่อให้ผมหันไป autoexnt.exe ซึ่งเป็นส่วนหนึ่งของชุดทรัพยากร Windows 2003 มัน จำกัด บริการเป็นไฟล์แบตช์เดียว แต่ฉันต้องการแบทช์สคริปต์เดียวเท่านั้นที่จะถูกแปลงเป็นบริการ

Ciao!


-1

exe4j เป็นตัวเลือกที่ดีมากแม้ว่ามันจะไม่ฟรี ลองดูที่exe4jในตัวช่วยสร้างเพื่อสร้างไฟล์. exe คุณจะให้ตัวเลือกในการสร้างบริการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.