জাভা অ্যাপ থেকে উইন্ডোজ পরিষেবা কীভাবে তৈরি করা যায়


220

আমি সবেমাত্র একটি জাভা অ্যাপ্লিকেশন পেয়েছি যা এক্সপি এবং ভিস্টায় একটি পরিষেবা হিসাবে ইনস্টল করা প্রয়োজন। প্রায় 8 বছর কেটে গেছে যেহেতু আমি কোনও রূপে উইন্ডোজ ব্যবহার করেছি এবং কখনই কোনও পরিষেবা তৈরি করতে হয়নি, জাভা অ্যাপের মতো কিছু থেকে দূরে থাকি (অ্যাপটির জন্য আমি একটি পাত্র এবং একক নির্ভরতার জার পেয়েছি - log4j )। এই রানটিকে পরিষেবা হিসাবে তৈরি করার জন্য প্রয়োজনীয় যাদু কী? আমি উত্স পেয়েছি, তাই কোড পরিবর্তনগুলি, যদিও অগ্রাধিকার দিয়ে এড়ানো সম্ভব, সম্ভব are


একটি অন্য পরামর্শ stackoverflow.com/a/9262081/381897
bhdrkn

1
কেবলমাত্র সম্পূর্ণতার জন্য: এখানে সার্ভারসফল্ট /a / 259195 এটি বলছে অ্যাপ্লিকেশনটিকে পরিষেবা নিয়ন্ত্রণ নিয়ন্ত্রণ পরিচালক কলব্যাকগুলিতে সাড়া দেওয়া দরকার। এই টিউটোরিয়াল এটা Procrun ব্যবহার পড়ুন ticklingmind.blogspot.com/2010/03/...
Broken_Window

উত্তর:


69

জাভা সার্ভিস র‍্যাপারের সাথে আমার কিছু ভাগ্য আছে


11
জাভা সার্ভিস র‍্যাপার দেখতে খুব দরকারী। তবে বৈশিষ্ট্য তালিকায় আমার নজর ছিল। আপনাকে কেবল সচেতন হওয়া দরকার যে সম্প্রদায় সংস্করণটি সার্ভারে ব্যবহারের জন্য লাইসেন্স নয়।
ব্রায়ান ম্যাথিউজ

এটা একটা সমস্যা হতে পারে। এটি কয়েক বছর আগে আমি এটি ব্যবহার করেছিলাম। মনে করুন তারা চার্জ দেওয়ার সিদ্ধান্ত নিয়েছে।
sblundy

এই মোড়কটি অনেকগুলি ওপেন সোর্স প্রকল্প দ্বারা ব্যবহৃত হয়, জাকার্তা আপাচে কয়েকটি যেমন অ্যাক্টিভএমকিউতে অন্তর্ভুক্ত।
টড

7
wrapper.tanukisoftware.org/doc/english/licenseCommune.html বদ্ধ উত্স ব্যবহার জিপিএল অভ্যন্তরীণ ব্যবহারের জন্য প্রাইভেট সফ্টওয়্যার তৈরি করা বাধা দেয় না যা জিপিএল এর অধীনে সফ্টওয়্যার উপর নির্ভর করে যতক্ষণ না সফ্টওয়্যারটির সম্পূর্ণ উত্স তৈরি না করে বিতরণ না করা হয় সমস্ত ব্যবহারকারীর জন্য সম্পূর্ণ অ্যাপ্লিকেশন উপলব্ধ। আমরা কর্পোরেট ও সরকারী ব্যবহারকারীদের সার্ভার বা উন্নয়ন লাইসেন্স চুক্তিটি ব্যবহার করতে উত্সাহিত করার পরেও, আবেদনের অভ্যন্তরীণ ব্যবহারের জন্য যতক্ষণ না এই সম্প্রদায়ের লাইসেন্স চুক্তি গ্রহণযোগ্য হয় বা সর্বদা এটির সম্পূর্ণ এসসিআর সহ বিতরণ করা হবে।
ভ্লাদিমির

1
@ ভ্লাদিমির তনুকির মোড়ক আর
open৪

100

অ্যাপাচি কমন্স ডেমন একটি ভাল বিকল্প। এটা তোলে করেছে Procrun জানালা পরিষেবার জন্য, এবং Jsvc UNIX ডেমন জন্য। এটি কম সীমাবদ্ধ অ্যাপাচি লাইসেন্স ব্যবহার করে এবং অ্যাপাচি টমক্যাট এটিকে উইন্ডোজ এবং লিনাক্সে চালানোর জন্য নিজের অংশ হিসাবে ব্যবহার করে! এটির কাজটি করা কিছুটা জটিল, তবে কাজের উদাহরণ সহ একটি নিখরচায় নিবন্ধ রয়েছে।

এছাড়াও, আপনি কীভাবে পরিষেবাটি সেটআপ করবেন সে সম্পর্কে ধারণা পেতে আপনি অ্যাপাচি টমকেটের বিন- সার্ভিস.ব্যাটের দিকে নজর দিতে পারেন । টমক্যাটে তারা প্রোক্রুন বাইনারিগুলির নামকরণ করে (prunsrv.exe -> tomcat6.exe, prunmgr.exe -> tomcat6w.exe)।

প্রোক্রুন ব্যবহার করে আমি যে संघर्ष করেছি তার কিছু, আপনার শুরু এবং থামানোর পদ্ধতিগুলির অবশ্যই পরামিতিগুলি (স্ট্রিং [] আরজিভি) গ্রহণ করতে হবে। উদাহরণস্বরূপ "স্টার্ট (স্ট্রিং [] আরগভি)" এবং "স্টপ (স্ট্রিং [] আরজিভি)" কাজ করবে তবে "স্টার্ট ()" এবং "স্টপ ()" এর ফলে ত্রুটি ঘটবে। যদি আপনি এই কলগুলি সংশোধন করতে না পারেন তবে এমন একটি বুটস্ট্র্যাপার ক্লাস তৈরি করার কথা বিবেচনা করুন যা আপনার প্রয়োজনের সাথে মাপসই এই কলগুলি ম্যাসেজ করতে পারে।


প্রতিবিম্ব ব্যবহার করে, আপনি সম্ভবত আপনার শেষ অনুচ্ছেদে বিবৃত ইস্যুটি পেতে পারেন। এছাড়াও, অ্যাপাচি কমন্স ডেমন হ'ল আমি জানি যে বিনামূল্যে ব্যবহারের জন্য -৪-বিট বাইনারিগুলি প্রাক-বিল্ট রয়েছে।
জাঙ্গোফান

প্রতিটি জেভিএম বিকল্পের মধ্যে আপনার গাড়ীর রিটার্ন দরকার। উদাহরণস্বরূপ যদি আপনার একই লাইনে থাকে - ডপ্ট 1 = এ-ডপ্ট 2 = বি, এটি কাজ নাও করতে পারে। এটি ঠিক করার জন্য আপনাকে লিখতে হবে --JvmOptions=-Dopt=a#-Dopt2=b। আমি একটি পিপীলিকার স্ক্রিপ্ট থেকে কমান্ডটি চালিয়ে যাচ্ছিলাম এবং এর জন্য কয়েক দিন ধরে লড়াই করছি। আশা করি এটা সাহায্য করবে.
সিডনি

আপনি যে নিবন্ধটির কথা বলেছেন সেটির আর অস্তিত্ব নেই ... আপনার কাছে এখনও যাওয়ার কোনও উপায় আছে? অ্যাপাচি কমন্স ডেমনকে আমার যা প্রয়োজন তা করতে পেতে আমার সমস্যা হচ্ছে।
11101101 বি

3
@ 11101101 বি, আপাচে মনে হয় নিবন্ধটির সাহসটি তার নিজস্ব উইকি পৃষ্ঠায় সংযুক্ত করেছে ...
লুকাশ

@ কম্যুনিটি উইকি, আমি ons৪- বিট উইন্ডোজ মেশিনের জন্য অ্যাপাচি কমন্স ডেমন ব্যবহার করেছি, এটি পরিষেবাটি সফলভাবে যুক্ত করেছে। আমি যখন 32-বিট উইন্ডোজ 7 মেশিনের জন্য একই প্রক্রিয়াগুলি ব্যবহার করি তখন এটি পরিষেবা যুক্ত করতে ব্যর্থ হয়।
শক্তি

59

সঙ্গে এ্যাপাচি কমন্স ডেমন আপনি এখন একটি কাস্টম এক্সিকিউটেবল নাম এবং প্রতিকৃতি থাকতে পারে! আপনি নিজের নাম এবং আইকন সহ একটি কাস্টম উইন্ডোজ ট্রে মনিটর পেতে পারেন!

আমার এখন আমার নিজস্ব নাম এবং আইকন (prunsrv.exe) দিয়ে আমার পরিষেবা চলছে এবং সিস্টেম ট্রে মনিটর (prunmgr.exe) এও আমার নিজস্ব কাস্টম নাম এবং আইকন রয়েছে!

  1. অ্যাপাচি কমন্স ডেমন বাইনারিগুলি ডাউনলোড করুন (আপনার prunsrv.exe এবং prunmgr.exe প্রয়োজন হবে)।
  2. যথাক্রমে MyServiceName.exeএবং তাদের নামকরণ করুন MyServiceNamew.exe
  3. WinRun4J ডাউনলোড করুন এবং RCEDIT.exeএটি আপনার নিজের কাস্টম আইকনটিকে এম্বেড করতে অ্যাপাচি এক্সিকিউটেবলকে সংশোধন করতে এটির সাথে আসা প্রোগ্রামটি ব্যবহার করুন :

    > RCEDIT.exe /I MyServiceName.exe customIcon.ico
    > RCEDIT.exe /I MyServiceNamew.exe customTrayIcon.ico
  4. এখন আপনার উইন্ডোজ পরিষেবাটি এর মতো ইনস্টল করুন ( আরও বিশদ এবং বিকল্পগুলির জন্য ডকুমেন্টেশন দেখুন):

    > 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. এখন আপনার কাছে আপনার জারের একটি উইন্ডোজ পরিষেবা রয়েছে যা আপনার নিজস্ব আইকন এবং নাম দিয়ে চলবে! আপনি মনিটর ফাইলটিও চালু করতে পারেন এবং এটি আপনার নিজস্ব আইকন এবং নামের সাথে ট্রে ট্রেতে চলবে।


1
আমি কীভাবে আপনার পদ্ধতি অনুসারে সমস্ত কিছু করেছি, তবে এটি সিস্ট্রে আইকনটি পরিবর্তন করে না .. কোনও ধারণা কেন?
অফফাউন্ডস

দুঃখিত @ আউটফাউন্ডস, আমি এখন পর্যন্ত আপনার মন্তব্যটি দেখতে পাইনি। আরসিইডিআইটি.ইক্সই প্রোগ্রামটি হ'ল যা আপনার পরিষেবা সম্পাদকের আইকনকে পরিবর্তন করে। প্রতিটি আকারের সঠিকভাবে সংজ্ঞায়িত করে আপনার কাছে বৈধ .ico ফাইল রয়েছে তা নিশ্চিত করুন। : আপনি এখানে একটি সঠিক .ico ফাইল তৈরি করার পদ্ধতি দেখতে পারেন stackoverflow.com/questions/4354617/...
11101101b

2
ঠিক তাই আপনি জানেন, পরিষেবার নামে আপনার কাছে ফাঁকা স্থান থাকতে পারে না।
11101101b

1
হ্যাঁ @ শক্তিটি এটি 32 এবং 64-বিট উইন্ডোজ এক্সপি, 7, 8, 8.1, সার্ভার 2003, 2008 এবং 2012
দুর্দান্ত কাজ করে

1
হ্যাঁ, @ সায়ামসুল আজরাইন, এটি 10 ​​এবং যে কোনও সার্ভার সংস্করণে দুর্দান্ত কাজ করে।
11101101b

31

7
এনএসএসএম রকস! আমি আমার জাভা প্রোগ্রামটি থেকে সহজেই মোড়ক তৈরি করি। সহজ, হালকা ওজনের, কাজ - 100kb সুখ! ধন্যবাদ!
স্নেপনাক্সা

1
কোনও উদাহরণ, জাভা অ্যাপ্লিকেশন শুরু করার জন্য এনএসএসএম র‍্যাপারটি কীভাবে ব্যবহার করবেন (আমি হেলিও অনুসন্ধানটি ব্যবহার করছি) উদাহরণস্বরূপ সিস্টেম স্টার্ট-আপের পটভূমিতে উইন্ডোজ পরিষেবা হিসাবে?
কৃষ্ণাল

আপনার ব্লগ এন্ট্রি আর অ্যাক্সেসযোগ্য নয় আপনার আর একটি লিঙ্ক আছে?
ম্যাথিউউ

2
অ্যাপাচি কমন্স ডেমন, র্যাপার.টানুকিসফটওয়্যার.আর.এগ এবং ইয়াজস-এর সাথে তুলনা করে, এনএসএসএম একটি সাধারণ জাভা অ্যাপ্লিকেশনটিকে উইন্ডোজ পরিষেবাতে পরিণত করার জন্য সবচেয়ে দ্রুত এবং সহজ বিকল্প ছিল
জেফ্রি নাইট

আমি আমার স্প্রিং বুট এক্সিকিউটেবল জারটি চালানোর জন্য এনএসএসএম ব্যবহার করার চেষ্টা করছি। আমি এই ত্রুটি পেয়েছি, "START নিয়ন্ত্রণের প্রতিক্রিয়া হিসাবে অপ্রত্যাশিত অবস্থা SERVICE_PAUSED" ED
কিরণ কুমার

26

আরও একটি বিকল্প হ'ল WinRun4J । এটি একটি কনফিগারযোগ্য জাভা লঞ্চার যা উইন্ডোজ পরিষেবা হোস্ট হিসাবে দ্বিগুণ (32 এবং 64 বিট উভয় সংস্করণ)। এটি ওপেন সোর্স এবং এর ব্যবহারে কোনও বিধিনিষেধ নেই।

(সম্পূর্ণ প্রকাশ: আমি এই প্রকল্পে কাজ করি)।


3
এর জন্য ধন্যবাদ. আমি YAJWS চেষ্টা করেছি এবং প্রথমে এটি 19 এমএম ডাউনলোডের সাথে আমাকে ভয় পেয়েছিল এবং আমি নির্দেশনা অনুসরণ করার পরে এটি "কমান্ড লাইনকে পার্স করার ক্ষেত্রে ত্রুটি" দেখিয়েছিল। আমি প্রোক্রুনকে দেখেছি এবং দ্রুত সেটআপের জন্য এটি খুব জটিল too INSTSRV / SRVANY এর জন্য রেজিস্ট্রি পরিবর্তন দরকার! Launch4J একটি EXE এর মধ্যে একটি জার প্যাক করে, তাই এটি মোতায়েনকে জটিল করে তোলে। WinRun4J একটি নিখুঁত ফিট ছিল। একমাত্র ত্রুটি এটি হ'ল পরিষেবা হিসাবে কাজ করার জন্য এটি একটি বিশেষ শ্রেণির প্রয়োজন (কেবল স্ট্যান্ডার্ড মূল শ্রেণীর পরিবর্তে কল করার পরিবর্তে)। তবে সামগ্রিকভাবে এটি 99% নিখুঁত।
ফার্নাকোলো

2
এফওয়াইআই, সর্বশেষ সংস্করণটিতে একটি স্ট্যান্ডার্ড মেইন ক্লাসের মোড়ক রয়েছে।
পিটার স্মিথ

হাই, আপনি কী এমন কোনও উদাহরণ দিতে পারেন যা এটি কীভাবে ব্যবহার করবেন তা ব্যাখ্যা করে? আমি এটি সিস্টেমের শুরুতে একটি ব্যাকগ্রাউন্ড উইন্ডোজ পরিষেবা হিসাবে হেলিও অনুসন্ধানের উদাহরণটি শুরু করতে ব্যবহার করতে চাই।
ক্রুনাল

17

তবুও আরেকটি উত্তর তবুও আরেকটি জাভা সার্ভিস র‍্যাপার , এটি আরও ভাল লাইসেন্স হিসাবে জাভা সার্ভিস র‍্যাপারের একটি ভাল বিকল্প বলে মনে হচ্ছে। এটি জেএসডাব্লু থেকে ইএএজেএসডাব্লুতে চলাচল করা সহজ হতেও উদ্দিষ্ট। অবশ্যই আমার জন্য, উইন্ডোজ সার্ভারগুলিতে একেবারে নতুন এবং কোনও জাভা অ্যাপ্লিকেশনটি পরিষেবা হিসাবে চলার চেষ্টা করছে, এটি ব্যবহার করা খুব সহজ ছিল।

আমি অন্য কয়েকজনকে পেয়েছি কিন্তু ব্যবহার করে শেষ করে নি:


আমার কাছ থেকে এটি +1 কারণ এটি "বাক্সের বাইরে" আমার পক্ষে দ্রুত সমাধান এবং জাভা অ্যাপ্লিকেশনটির কোনও পরিবর্তন প্রয়োজন হয়নি যা একটি চূড়ান্ত প্লাস plus
সবুজ দিন

আমি এই খুব আকর্ষণীয় তুলনামূলক চার্টটি পেয়েছি যা YAJSW কে অন্য কয়েকটি সাধারণ পরিষেবা র‌্যাপারগুলির সাথে তুলনা করে। yajsw.sourceforge.net/#mozTocId284533
সবুজ

6

আমি মনে করি জাভা সার্ভিস র‍্যাপার ভালভাবে কাজ করে। মনে রাখবেন যে আপনার অ্যাপ্লিকেশনকে সংহত করার জন্য তিনটি উপায় রয়েছে । দেখে মনে হচ্ছে যে বিকল্পটি 1 আপনার কোডটি পরিবর্তন করতে চান না তা দিয়ে আপনার পক্ষে সবচেয়ে ভাল কাজ করবে। কনফিগারেশন ফাইলটি কিছুটা ক্রেজি পেতে পারে, তবে কেবল মনে রাখবেন (বিকল্প 1 এর জন্য) আপনি যে প্রোগ্রামটি শুরু করছেন এবং যার জন্য আপনি যুক্তিগুলি নির্দিষ্ট করবেন, এটি তাদের সহায়ক প্রোগ্রাম, যা আপনার প্রোগ্রামটি শুরু করবে। এগুলির জন্য তাদের কাছে একটি উদাহরণ কনফিগারেশন ফাইল রয়েছে


5

আপনি যদি গ্রেডল বিল্ড সরঞ্জাম ব্যবহার করেন তবে আপনি আমার উইন্ডোজ-পরিষেবা-প্লাগইন চেষ্টা করতে পারেন , যা অ্যাপাচি কমন্স ডেমন প্রোক্রুন ব্যবহার করে ।

প্লাগইনটি সহ একটি জাভা উইন্ডোজ পরিষেবা অ্যাপ্লিকেশন তৈরি করতে আপনাকে বেশ কয়েকটি সহজ পদক্ষেপের মধ্য দিয়ে যেতে হবে।

  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"

    গ্রেড ২.১ এ নতুন, ইনকিউবেটিং, প্লাগইন প্রক্রিয়াটির জন্য একই স্ক্রিপ্ট স্নিপেট:

    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. উইন্ডোজ পরিষেবা বিতরণ তৈরি করতে ক্রিয়ে উইন্ডোস সার্ভিস গ্রেডল টাস্কটি চালান ।

একটি সাধারণ উইন্ডোজ পরিষেবা তৈরি করতে আপনাকে যা করতে হবে তা কেবল। প্লাগইনটি স্বয়ংক্রিয়ভাবে অ্যাপাচি কমন্স ডেমন প্রোক্রুন বাইনারিগুলি ডাউনলোড করবে, এই বাইনারিগুলি পরিষেবা বিতরণ ডিরেক্টরিতে এক্সট্রাক্ট করবে এবং পরিষেবাটি ইনস্টলেশন / আনইনস্টল করার জন্য ব্যাচ ফাইল তৈরি করবে।

ইন ${project.buildDir}/windows-serviceডিরেক্টরি আপনি পরিষেবার ইনস্টলেশন / আনইনস্টল এবং সব রানটাইম লাইব্রেরির জন্য সেবা এক্সেকিউটেবল, ব্যাচ স্ক্রিপ্ট পাবেন। পরিষেবাটি ইনস্টল করার জন্য <project-name>-install.batএবং যদি আপনি পরিষেবাটি আনইনস্টল করতে চান <project-name>-uninstall.bat। পরিষেবাটি শুরু এবং বন্ধ করার জন্য <project-name>w.exeএক্সিকিউটেবল ব্যবহার করুন ।

নোট করুন যে পদ্ধতিটি পরিচালনা করার পরিষেবাটি প্রক্রিয়াকরণটি চালানোর জন্য আলাদা থ্রেড তৈরি এবং শুরু করা উচিত এবং তারপরে ফিরে আসুন। আপনি যখন পরিষেবাটি শুরু করেন এবং বন্ধ করেন তখন মূল পদ্ধতিটি বিভিন্ন থ্রেড থেকে কল করা হয়।

আরও তথ্যের জন্য, দয়া করে প্লাগইন এবং অ্যাপাচি কমন্স ডেমন প্রোক্রুন সম্পর্কে পড়ুন।


আন্ডাররেটেড উত্তর!
তেলানুব


4

জাভা 8 দিয়ে আমরা কোনও বাহ্যিক সরঞ্জাম ছাড়াই এই দৃশ্যটি পরিচালনা করতে পারি। জাভাপ্যাকাগার সরঞ্জাম জাভা 8 এর সাথে স্ব-অন্তর্ভুক্ত অ্যাপ্লিকেশন বান্ডিলগুলি তৈরি করতে একটি বিকল্প সরবরাহ করে:

-জাতীয় টাইপ স্বয়ংসম্পূর্ণ অ্যাপ্লিকেশন বান্ডিলগুলি তৈরি করুন (সম্ভব হলে)। ব্যবহৃত হওয়া বান্ডেলরদের আর্গুমেন্ট সরবরাহ করতে -বি বিকল্পটি ব্যবহার করুন। যদি টাইপ নির্দিষ্ট করা থাকে তবে কেবল এই ধরণের একটি বান্ডিল তৈরি করা হবে। যদি কোনও প্রকার নির্দিষ্ট না করা থাকে তবে সমস্ত ব্যবহৃত হয়।

নিম্নলিখিত মানগুলি টাইপের জন্য বৈধ:

-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.

উইন্ডোগুলির ক্ষেত্রে নিম্নলিখিত নথিকে উল্লেখ করুন আমরা প্রয়োজন অনুসারে এমএসআই বা এক্সি তৈরি করতে পারি।

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

4
এই উত্তরটি প্রশ্নের সমাধান করে না। জাভাপ্যাকগারটি সরাসরি উইন্ডোজ পরিষেবা তৈরি করতে ব্যবহার করা যায় না, বরং এক্সিকিউটেবলের একটি স্বয়ংসম্পূর্ণ তৈরি করতে পারেন যেমন যেমন জের এবং অন্যান্য সংস্থানগুলি অন্তর্ভুক্ত।
tobias_


3

আপনি শর্টকাট রাখতে হবে হিসাবে এটি সহজ

উইন্ডোজ 7 C:\users\All Users\Start Menu\Programs\Startup (অ্যাডমিন) বাUser home directory(%userProfile%)

উইন্ডোজ 10: রান ইন shell:startup

এটির সম্পত্তি -> শর্টকাট -> লক্ষ্য -> java.exe -jar D:\..\runJar.jar

দ্রষ্টব্য: আপনি লগইন করার পরে এটি চলবে


অ্যাডমিন রাইট সহ

sc create serviceName binpath= "java.exe -jar D:\..\runJar.jar" উইন্ডোজ পরিষেবা তৈরি করবে

আপনি যদি টাইমআউট ব্যবহার পান cmd /c D:\JAVA7~1\jdk1.7.0_51\bin\java.exe -jar d:\jenkins\jenkins.warতবে এটির সাথেও আপনি টাইমআউট পাবেন তবে পটভূমিতে java.exe শুরু হবে। টাস্ক ম্যানেজার চেক ইন

দ্রষ্টব্য: এটি উইন্ডোজ লগঅন শুরু-তে চলবে (সাইন-ইন করার আগে, পরিষেবার উপর ভিত্তি করে ' Startup Type')

উইন্ডোজ পরিষেবা তৈরির বিস্তারিত ব্যাখ্যা


3

" উইনসইউ " ব্যবহার করুন যা গ্লাসফিশ ভি 3 এর জন্য লেখা হয়েছিল তবে জাভা প্রোগ্রামগুলির সাথে সাধারণভাবে কাজ করে।

.NET রানটাইম ইনস্টল করা আবশ্যক।


ইতিমধ্যে বর্তমান সংস্করণ (সুপরিচিত কোহসুক কাওয়াগুচি দ্বারা রক্ষণাবেক্ষণ করা) এখানে অবস্থিত ।
FrVaBe

এটি প্রদর্শিত হয় এটি সংস্করণ 1.9 এর পরে গিথুবে স্থানান্তরিত করেছে (সম্ভবত তিনি যখন ওরাকল থেকে ক্লাউডবিজে গিয়েছিলেন)
থোরবজর্ন রাভন অ্যান্ডারসন

2

আমি ভাল সাফল্যের সাথে এর আগে জাভা সার্ভিস ব্যবহার করেছি । এটি কয়েক বছরের মধ্যে আপডেট করা হয়নি, তবে আমি এটি ব্যবহার করার সময় বেশ শক্ত ছিল।



2

আমি জাভা সার্ভিস র‍্যাপারের জন্য লাইসেন্সিং পছন্দ করি না। আমি অ্যাক্টিভেট পার্লের সাথে একটি পরিষেবা লিখেছিলাম যা কাজ করে।

আমি সি # তে একটি পরিষেবা লেখার কথা ভেবেছিলাম, তবে আমার সময়ের সীমাবদ্ধতা খুব বেশি ছিল।


আপনি কি "পার্ল" দিয়ে স্যাম্পল হ্যাকটি সরবরাহ করতে পারেন ..!
PeaceUser

2

আমি সবসময় কেবলমাত্র sc.exe ব্যবহার করি (দেখুন http://support.microsoft.com/kb/251192 )। এটি এসপি 1 থেকে এক্সপিতে ইনস্টল করা উচিত, এবং এটি যদি আপনার ভিস্তার স্বাদে না থাকে তবে আপনি এটি ভিস্তার রিসোর্স কিটের সাহায্যে লোড ডাউনলোড করতে পারেন।

আমি জাভা নিয়ে খুব জটিল কিছু করি নি, তবে পুরোপুরি যোগ্যতাসম্পন্ন কমান্ড লাইন আর্গুমেন্ট (x: ava java.exe ....) ব্যবহার করে বা পিপাসা অন্তর্ভুক্ত করার জন্য পিঁপড়ার সাথে একটি স্ক্রিপ্ট তৈরি করা আমার পক্ষে কাজ করে।


1
এটি আপনাকে পরিষেবা হিসাবে কিছু শুরু করার অনুমতি দেয়, তবে আমার বোঝার পরে এটি আলাদা করা হবে, অর্থাত আপনি পরিষেবাগুলির মাধ্যমে এটি থামাতে বা স্বয়ংক্রিয়ভাবে পুনরায় আরম্ভ করতে পারেন না etc. ইত্যাদি যদিও আমি সম্পূর্ণ ভুল হতে পারি - কেবল এটি সন্ধান করা শুরু করে।
পরমাণুগুলি


1

আমি বর্তমানে একটি গ্রহণ-ভিত্তিক অ্যাপ্লিকেশন চালানোর জন্য এটির প্রয়োজনীয়তা করছি তবে প্রথমে আমাকে কিছু ভেরিয়েবল সেট করতে হবে যা সেই অ্যাপ্লিকেশনের স্থানীয়। sc.exe কেবল এক্সিকিউটেবলকে অনুমতি দেবে তবে স্ক্রিপ্টগুলি নয় তাই আমি উইন্ডোজ 2003 রিসোর্স কিটের অংশ যা অটোেক্সেন্ট.এক্সে পরিণত করেছি । এটি পরিষেবাটি একটি একক ব্যাচের ফাইলে সীমাবদ্ধ করে তবে পরিষেবাতে রূপান্তরিত করতে আমার কেবল একটি ব্যাচের স্ক্রিপ্ট দরকার।

Ciao!


-1

Exe4j একটি খুব ভাল বিকল্প এটি নিখরচায় না হলেও। Exe4j এ এটি পরীক্ষা করে দেখুন। এক্স ফাইলটি তৈরি করতে উইজার্ডে, আপনাকে একটি পরিষেবা তৈরি করার বিকল্প দেওয়া হচ্ছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.