উইন্ডোজের কমান্ড লাইন থেকে আমি কীভাবে একটি জাভা প্রোগ্রাম চালাব?


216

আমি উইন্ডোজ কমান্ড লাইন থেকে একটি জাভা প্রোগ্রাম চালানোর চেষ্টা করছি। আমার কোডটি এখানে:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class CopyFile
{
    public static void main(String[] args)
    {

        InputStream inStream = null;
        OutputStream outStream = null;

        try
        {

            File afile = new File("input.txt");
            File bfile = new File("inputCopy.txt");

            inStream = new FileInputStream(afile);
            outStream = new FileOutputStream(bfile);

            byte[] buffer = new byte[1024];

            int length;
            // copy the file content in bytes
            while ((length = inStream.read(buffer)) > 0)
            {

                outStream.write(buffer, 0, length);

            }

            inStream.close();
            outStream.close();

            System.out.println("File is copied successful!");

        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}

আমি নিশ্চিত না যে কীভাবে প্রোগ্রামটি চালানো যায় - কোন সাহায্য? উইন্ডোজ এ কি সম্ভব? এটি অন্য পরিবেশের চেয়ে কেন আলাদা (আমি ভেবেছিলাম জেভিএম একবার লেখা হয়েছিল, কোথাও চালানো)?


33
javac CopyFile.javaএবং তারপরেjava CopyFile
আলফাসিন

আমি এখন কমান্ড লাইনে আছি, আমার টিএসটি ফাইলগুলি প্রোগ্রামের অনুরোধ করার জন্য একই ফোল্ডারে সংরক্ষণ করতে হবে?
এলিজাবেথ টার্নার

প্যাকেজ আছে CopyFileবসবাস
MadProgrammer

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

উত্তর:


240

সূত্র: জাভইন্ডোস।

আসুন ধরা যাক আপনার ফাইলটি সি: \ মাই ওয়ার্ক in এ রয়েছে

কমান্ড প্রম্পট রান করুন

C:\> cd \mywork

এটি সি: \ বর্তমান ডিরেক্টরিটি আমার কাজ করে।

C:\mywork> dir

এটি ডিরেক্টরি বিষয়বস্তু প্রদর্শন করে। ফাইলগুলির মধ্যে আপনার ফাইলের নাম.জভা দেখতে হবে।

C:\mywork> set path=%path%;C:\Program Files\Java\jdk1.5.0_09\bin

এটি সিস্টেমটিকে জানায় যে জেডিকে প্রোগ্রামগুলি কোথায় পাওয়া যায়।

C:\mywork> javac filenamehere.java

এটি javac.exe, সংকলক চালায়। আপনার পরবর্তী সিস্টেম প্রম্পট ছাড়া কিছুই দেখতে পাওয়া উচিত ...

C:\mywork> dir

জাভ্যাক ফাইলের নামটি সিলেক্ট ফাইল তৈরি করেছে। ফাইলগুলির মধ্যে আপনার ফাইলের নাম.জভা এবং ফাইলের নামক.ক্লাস দেখতে হবে।

C:\mywork> java filenamehere

এটি জাভা ইন্টারপ্রেটার চালায়। তারপরে আপনার প্রোগ্রাম আউটপুটটি দেখতে হবে।

যদি সিস্টেমটি জাভ্যাক না খুঁজে পায় তবে সেট পাথ কমান্ডটি পরীক্ষা করুন। জাভাক যদি চলতে থাকে তবে আপনি ত্রুটি পান তবে আপনার জাভা পাঠ্যটি পরীক্ষা করুন। প্রোগ্রামটি সংকলিত হয় তবে আপনি যদি ব্যতিক্রম পান তবে ফাইলের নাম এবং শ্রেণীর নাম এবং জাভা হ্যালো ওয়ার্ল্ড কমান্ডের বানান এবং মূলধনটি পরীক্ষা করুন। জাভা কেস-সংবেদনশীল!


27
সমস্যাটি হ'ল যখন আমি কম্পাইলারটি চালানোর চেষ্টা করি তখন আমি একটি ত্রুটি পেয়েছি "মূল শ্রেণীর কপি ফাইলটি খুঁজে পাওয়া বা লোড করা যায়নি
এলিজাবেথ টার্নার

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

আমি কীভাবে এমন একটি ব্যাচ ফাইল তৈরি করব যা কোড সংকলন করে এবং চালায়, তবুও যদি এটি আগে সংকলন করা হয়, তবে কেবল এটি চালু করুন?
অ্যান্ড্রয়েড বিকাশকারী 23

2
কী অনুপস্থিত: ক্লাসটি যদি একটি নির্দিষ্ট প্যাকেজের মধ্যে ঘোষণা করা হয়, তবে আপনাকে .classফাইলটি উপযুক্ত ডিরেক্টরি কাঠামোয় রেখে দিতে হবে। বর্তমান ডিরেক্টরি হ'ল ডিফল্ট ক্লাসপথ, সুতরাং আপনাকে -cp .ম্যানুয়ালি সেট করতে হবে না ।
আর্তুর সিজ্জাকা

2
অবশ্যই, আপনার প্যাকেজগুলি ব্যবহার করা উচিত: প্যাকেজ মাইপ্যাকেজ; তারপরে আপনার প্রকল্পের নাম / এ যান। জাভা মাইপ্যাকেজ চালান Mআমনা

108

উত্তরটি সম্পূর্ণ করতে:

  1. জাভা ফাইল

    TheJavaFile.java
  2. জাভা ফাইলকে একটি * .ক্লাস ফাইলে সংকলন করুন

    javac TheJavaFile.java
    • এটি একটি TheJavaFile.classফাইল তৈরি করবে
  3. জাভা ফাইল কার্যকর করা

    java TheJavaFile
  4. একটি এক্সিকিউটেবল *.jarফাইল তৈরি করা

    • আপনার এখানে দুটি বিকল্প রয়েছে -

      1. একটি বাহ্যিক ম্যানিফেস্ট ফাইল সহ:

        • ম্যানিফেস্ট ফাইলটি তৈরি করুন - MANIFEST.mf বলুন

        • MANIFEST ফাইলটি মূল শ্রেণীর একটি সুস্পষ্ট প্রবেশ ছাড়া কিছুই নয়

        • jar -cvfm TheJavaFile.jar MANIFEST.mf TheJavaFile.class

      2. এন্ট্রি পয়েন্ট দ্বারা নির্বাহযোগ্য:

        • jar -cvfe TheJavaFile.jar <MainClass> TheJavaFile.class
  5. জার ফাইল চালাতে

    java -jar TheJavaFile.jar

5
আপনি কি দয়া করে MANIFEST.mf এর বিষয়বস্তু প্রদর্শন করতে পারেন, কারণ যখন আমি "এন্ট্রি পয়েন্ট বাই এক্সিকিউটেবল" চেষ্টা করার সময় এটি বলে যে প্রধান শ্রেণিটি পাওয়া যায় না
পিনি চায়নি

@ পিনি চেনি যদি আপনার ক্লাসটিকে মেইন ক্লাস বলা হয় তবে আপনার ম্যানিফেস্ট ফাইলটিতে মেইন-ক্লাসের জন্য প্রবেশ থাকবে: মেইনক্লাস
jkhosla

@ পিনিচেনি, এক্সিকিউটেবল জার তৈরির 2 টি উপায় এখানে ভালভাবে ব্যাখ্যা করা হয়েছে। docs.oracle.com/javase/tutorial/depدام
দীনেশ কুমার পি

পয়েন্ট 3 এ, যখন আপনি java TheJavaFilethats সমতুল্য কল করবেন java TheJavaFile.class.. সুতরাং আপনি জাভা ফাইলটি যেমনটি বলেছিলেন তেমন কার্যকর করছেন না। আপনি ক্লাস ফাইলটি কার্যকর করছেন। জাভা ফাইলগুলি এমন উত্স যা
কার্যকরযোগ্য

21

যদি আপনার জাভা ক্লাসটি কিছু প্যাকেজে থাকে। ধরুন আপনার নামযুক্ত জাভা ক্লাসটি ABC.javaউপস্থিত রয়েছে com.hello.programs, তবে আপনাকে এটি প্যাকেজের নাম দিয়ে চালানো দরকার।

এটি সাধারণ উপায়ে সংকলন করুন:

C:\SimpleJavaProject\src\com\hello\programs > javac ABC.java

তবে এটি চালানোর জন্য আপনাকে প্যাকেজের নাম এবং তার পরে আপনার জাভা শ্রেণীর নাম দেওয়া দরকার:

C:\SimpleJavaProject\src > java com.hello.programs.ABC

19

একটি শ্রেণি উত্পন্ন করতে জাভা ফাইলটি সঙ্কলন করুন:

javac filename.java

সম্পাদন উত্পন্ন শ্রেণী:

java filename

লক্ষ্য করুন যে আপনার "ফাইলের নাম" আসলে একটি শ্রেণীর নাম। Java.exe এই নামের শ্রেণীর জন্য প্রতিটি * .jar ফাইল অনুসন্ধান করবে।
ডুমজুনকি

@ ডুমজুনকি আপনি কি এটি ব্যাখ্যা করতে পারেন, দয়া করে? এটা খারাপ না ভাল? এর নামকরণ কি আলাদা করা উচিত?
ডেভিড ফেরেঞ্জি রোগোয়ান

9

এটা সহজ. আপনি যদি আপনার ফাইলটি A.text হিসাবে সংরক্ষণ করেন তবে আপনার প্রথমে এটি A. জাভা হিসাবে সংরক্ষণ করা উচিত। এখন এটি একটি জাভা ফাইল।

এখন আপনাকে সিএমডি খুলতে হবে এবং এ.এ জাভা ফাইলটি সংকলনের আগে আপনাকে পাথ সেট করতে হবে। আপনি এটি জন্য এটি উল্লেখ করতে পারেন ।

তারপরে আপনি কমান্ড ব্যবহার করে আপনার ফাইলটি সংকলন করতে পারেন

জাভাক এ। জাভা

তারপরে এটি ব্যবহার করে চালান

জাভা এ

সুতরাং আপনি কিভাবে সেমিডিতে একটি জাভা প্রোগ্রামটি সংকলন এবং পরিচালনা করতে পারেন। আপনি গভীরতার পাঠগুলিতে জাভা যা এই উপাদানগুলির মধ্যে দিয়ে যেতে পারেন । জাভাতে আপনার প্রচুর পরিমাণে বোঝার দরকার সেখানে নবজাতকদের জন্য আবৃত।


7

আপনি কমান্ড লাইনে জাভ্যাক ব্যবহার করে কোনও জাভা উত্স সংকলন করতে পারেন; উদাহরণস্বরূপ, জাভ্যাক কপিফিল.জভা। চালানোর জন্য: জাভা কপি ফাইল আপনি জাভা্যাক *। জাভা ব্যবহার করে সমস্ত জাভা ফাইল যতক্ষণ না তারা একই ডিরেক্টরিতে রয়েছেন ততক্ষণ সংকলন করতে পারেন

যদি আপনি "মুখ্য শ্রেণীর সন্ধান বা লোড করতে না পেরে" ফলস্বরূপ কোনও সমস্যা তৈরি করে থাকেন তবে আপনার পথে জেয়ার নাও থাকতে পারে। এই প্রশ্নটি একবার দেখুন: মুখ্য শ্রেণীর সন্ধান বা লোড করা যায়নি


7

ধরে নিচ্ছি ফাইলটিকে "কপিফিল.জভা" বলা হয়, নিম্নলিখিতটি করুন:

javac CopyFile.java
java -cp . CopyFile

প্রথম লাইন নির্বাহযোগ্য বাইট কোডে উত্স কোডটি সংকলন করে। দ্বিতীয় রেখাটি এটি চালায়, প্রথমে শ্রেণীর পথে বর্তমান ডিরেক্টরিটি যুক্ত করুন (কেবলমাত্র ক্ষেত্রে)।


3
মাই কম্পিউটার: বিন ব্যবহারকারী ava জাভা-সিপি। মেইনক্লাস ত্রুটি: মেইন ক্লাস মেইনক্লাস
ক্রিপস

5

জাভা ১১-এর পর থেকে javaকমান্ড লাইন সরঞ্জামটি সরাসরি একটি একক-ফাইল উত্স-কোড চালাতে সক্ষম হয়েছে। যেমন

java HelloWorld.java

এটি জেইপি 330 এর সাথে বর্ধিত ছিল: https://openjdk.java.net/jeps/330

ব্যবহারের এবং সীমাবদ্ধতার বিশদগুলির জন্য আপনার জাভা বাস্তবায়নের ম্যানুয়ালটি দেখুন যেমন ওরাকল দ্বারা সরবরাহিত: https://docs.oracle.com/en/java/javase/11/tools/java.html


4

উইন্ডোজ 7 এ আমাকে নিম্নলিখিতগুলি করতে হয়েছিল:

দ্রুত উপায়

  1. জেডিকে http://www.oracle.com/technetwork/java/javase/downloads ইনস্টল করুন
  2. উইন্ডোতে, "সি: \ প্রোগ্রাম ফাইলস \ জাভা \ jdk1.8.0_91 \ বিন" (বা যেখানেই জেডিকে সর্বশেষ সংস্করণ ইনস্টল করা আছে) ব্রাউজ করুন, উইন্ডোটির ফাঁকা অংশে শিফট এবং ডান ক্লিকটি ধরে রাখুন এবং "খুলুন" কমান্ড উইন্ডো এখানে "এবং এটি আপনাকে একটি কমান্ড লাইন এবং সমস্ত বিআইএন সরঞ্জামগুলিতে অ্যাক্সেস দেবে। উইন্ডোজ সিস্টেম PATH এনভায়রনমেন্ট ভেরিয়েবলে "জাভ্যাক" ডিফল্টরূপে নয়।
  3. কীভাবে ফাইলটি সংকলন করতে হবে ("জাভাক মাইফাইল.জাভা" তারপরে "জাভা মাইফিল") https://stackoverflow.com/a/33149828/194872

দীর্ঘ পথ

  1. JDK ইনস্টল করুন http://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. ইনস্টল করার পরে, উইন্ডোজ PATH এনভায়রনমেন্ট ভেরিয়েবল সম্পাদনা করে এবং সিটিতে নিম্নলিখিতটি যুক্ত করে: \ প্রোগ্রামডাটা \ ওরাকল \ জাভা av জাভাপাথ। এই ফোল্ডারের মধ্যে কয়েকটি মুখ্য জাভা এক্সিকিউটেবলের প্রতীকী লিঙ্ক রয়েছে তবে উইন্ডোজ কমান্ড লাইন থেকে "জাভ্যাক" চালানোর চেষ্টা করার সময় এটি একটি ত্রুটি ছুঁড়ে দেয় "জাভাক" তাদের মধ্যে একটি নয়।
  3. আমি পথটি সম্পাদনা করেছি: কন্ট্রোল প্যানেল -> সিস্টেম -> উন্নত ট্যাব -> "পরিবেশের পরিবর্তনসমূহ ..." বোতাম -> "পথ" এ স্ক্রোল করে হাইলাইট করুন এবং সম্পাদনা করুন -> "সি: \ প্রোগ্রামের ডেটা \ ওরাকল \ জাভা replaced প্রতিস্থাপন করা হয়েছে" জাভাপাথ "জাভা বিআইএন ফোল্ডার" সি: \ প্রোগ্রাম ফাইলগুলি \ জাভা \ jdk1.8.0_91 \ বিন "এর সরাসরি পথ সহ।
  4. আপনি যখন আপনার জেডি কে ইনস্টলেশন আপগ্রেড করবেন তখন সম্ভবত এটি বিরক্ত হবে তবে আপনার এখন সমস্ত কমান্ড লাইন সরঞ্জামগুলিতে অ্যাক্সেস রয়েছে।

  5. কীভাবে ফাইলটি সংকলন করতে হবে ("জাভাক মাইফাইল.জাভা" তারপরে "জাভা মাইফিল") https://stackoverflow.com/a/33149828/194872


2

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

     javac Student.java
     java Student

এখানে চিত্র বর্ণনা লিখুন


1

জাভা 9 হিসাবে jshell, জেডিকে অন্তর্ভুক্ত করেছে , একটি জাভা আরপিএল।

ধরে নিলাম জেডিকে 9+ binডিরেক্টরিটি আপনার পথে সঠিকভাবে যুক্ত হয়েছে, আপনি সহজভাবে সক্ষম হবেন:

  1. চালান jshell File.java- File.javaঅবশ্যই আপনার ফাইল হচ্ছে।
  2. একটি প্রম্পট খুলবে, আপনাকে কল করবে যার ফলে mainপদ্ধতি: jshell> File.main(null)
  3. প্রম্পটটি বন্ধ করতে এবং জেভিএম সেশনটি শেষ করতে, ব্যবহার করুন /exit

জেশেলের জন্য সম্পূর্ণ ডকুমেন্টেশন এখানে পাওয়া যাবে


1

এখন (JDK 9 এর পরে), আপনি কার্যকর করতে জাভা ব্যবহার করতে পারেন। মূলযুক্ত "হ্যালো.জাভা" চালানোর জন্য, একটি ব্যবহার করতে পারেন: জাভা হ্যালো.জভা

আপনাকে আর জাভ্যাক ব্যবহার করে আলাদাভাবে সংকলন করতে হবে না।


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