วิธีสร้างบริการ 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.