জাভা ফাইল সহ জার ফাইলগুলি কীভাবে অন্তর্ভুক্ত করা যায় এবং কমান্ড প্রম্পটে সংকলন করা যায়


121

আমার কাছে 3 জার ফাইল এবং একটি জাভা ফাইল রয়েছে যা এই জার ফাইলগুলির উপর নির্ভর করে। কমান্ড প্রম্পট ব্যবহার করে এই জার ফাইলগুলির সাথে আমি জাভা ফাইলটি কীভাবে সংকলন করব?


9
"জাভ্যাক-হেল্প" টাইপ করুন
সান প্যাট্রিক ফ্লয়েড


2
আশা করি এটি আপনাকে সহায়তা করবে ..
ফাহিম পার্কার

2
নিজের কাছে নোট করুন: আপনি যে জাভা ফাইলটি চালাতে চান তার নামের আগে আপনাকে অবশ্যই -cp / -classpath পতাকাটি ব্যবহার করতে হবে, অন্যথায় এটি পতাকা অগ্রাহ্য করবে। java -cp ".;magic.jar" Fooঠিক আছে java Foo -cp ".;magic.jar"না।
দিমিত্রি

উত্তর:


108

আপনি "জ্যাভাক" কমান্ডে "-cp" বিকল্পটি ব্যবহার করে আপনার জার ফাইলগুলি অন্তর্ভুক্ত করতে পারেন।

javac -cp ".:/home/path/mail.jar:/home/path/servlet.jar;" MyJavaFile.java

"-Cp" এর পরিবর্তে আপনি "-ক্লাসপাথ" ব্যবহার করতে পারেন

javac -classpath ".:/home/path/mail.jar:/home/path/servlet.jar:" MyJavaFile.java

পরিবেশের পরিবর্তনশীল "CLASSPATH" সঠিকভাবে সেট করে আপনি যতবার সংকলন করেছেন প্রতিটি সময় আপনি অন্তর্ভুক্ত করতে পারেন। পরিবেশের ভেরিয়েবল সেই পাথটি সংরক্ষণ করবে যেখানে জার ফাইল এবং ক্লাসগুলি যে কোনও জাভা ফাইল সংকলন / সম্পাদন করতে ব্যবহার করা প্রয়োজন। আপনি প্রতিবার ফাইলটি সংকলন করার সময় আপনাকে আলাদাভাবে জারগুলি অন্তর্ভুক্ত করতে হবে না।

ক্লাসপথটিকে পরিবেশের পরিবর্তনশীল হিসাবে সেট করার জন্য বিভিন্ন মেশিনের বিভিন্ন পদ্ধতি রয়েছে। উইন্ডোজ, লিনাক্স ইত্যাদির আদেশগুলি আলাদা।

আপনি এই ব্লগে আরও বিশদ জানতে পারেন ।

http://javarevisited.blogspot.com/2011/01/how-classpath-work-in-java.html

7
javac -classpath ".:/home/path/mail.jar;/home/path/servlet.jar" MyJavaFile.javaআমার জন্য কাজ। আমি ম্যাক ব্যবহার করছিলাম। আমি কোথাও পড়েছি যে ':' ইউনিক্সের জন্য ব্যবহৃত হয়।
শ্রী

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

3
কি করে .:? দুঃখিত যদি এটি বোবা প্রশ্ন হয় তবে এটি আমার কাছে সুস্পষ্ট নয়।
মিরান্ডা

1
@kensen। টাইপের ভুল. প্রতিস্থাপন: (কোলন) সেমিকোলন (;) দিয়ে
পঙ্কজ শিন্ডে

উপরে উবুন্টুতে আমার পক্ষে কাজ হয়নি। আমি উদ্ধৃতি চিহ্ন ছাড়াই চেষ্টা করেছি এবং এটি কার্যকর হয়েছে। যাত্রা। javac -cp .:/home/path/mail.jar:/home/path/servlet.jar; MyJavaFile.java
আলফাজ জিকানী

24

লিনাক্স চেষ্টা করুন

javac -cp jarfile source file 

উদাহরণ: -

javac  -cp .:/jars/* com/template/*.java

আমি যখন উদাহরণটি চেষ্টা করি : - , .:/jarsআমার জেআর ফাইলগুলি যে ডিরেক্টরিটিতে রয়েছে সেটির পরিবর্তে আমি ত্রুটি বার্তাটি পাই javac: invalid flag: /location/of/first/jar/file.jar
আর্টুরো ডন হুয়ান

stackoverflow.com/questions/27915204/… দয়া করে এটি উল্লেখ করুন, এটি আপনার সমস্যার সমাধান করতে পারে
জামশেয়ার

20

সিনট্যাক্স উইন্ডোজ ডস কমান্ডে কাজ করবে:

javac -cp ".;first.jar;second.jar;third.jar" MyJavaFile.java

4
উপরের কমান্ডের সফল প্রয়োগের পরে জাভা ক্লাস ফাইলটি কীভাবে চালানো যায়?
যশ অগ্রবাল

java -cp প্রথম.জার: দ্বিতীয়.জার: তৃতীয়.জার মাইফাইল
কৃষ্ণ চৈতন্য

15

পরিবেশ পরিবর্তনশীল সেটিংসের মাধ্যমে আপনার শ্রেণীর পথে সমস্ত নির্ভরতা জার ফাইল যুক্ত করার চেষ্টা করুন বা নীচের পদক্ষেপগুলি ব্যবহার করুন:

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

    set classpath=C:\Users\sarath_sivan\Desktop\jars\servlet-api.jar; C:\Users\sarath_sivan\Desktop\jars\spring-jdbc-3.0.2.RELEASE; C:\Users\sarath_sivan\Desktop\jars\spring-aop-3.0.2.RELEASE;

  4. এখন, আপনি আপনার জাভা ফাইলটি সংকলন করতে পারেন। (আদেশ javac YourJavaFile.java:)

আশা করি এটি আপনার নির্ভরতা সমস্যার সমাধান করবে।


15

নিম্নলিখিত পদক্ষেপগুলি হল,

  1. সমস্ত জার এবং আপনার। জাভা ফাইলকে একই ফোল্ডারে অনুলিপি করুন (দীর্ঘ পথের উল্লেখ না করে ফাইলের নাম উল্লেখ করা সহজ হবে Though যদিও আপনি আলাদা ফোল্ডারে জার এবং। জাভা রাখতে পারেন)।

  2. সংকলন করতে,

    javac -cp .:<file_1_name>.jar:<file_2_name>.jar <prog_name>.java
  3. চালানো,

    java -cp .:<file_1_name>.jar:<file_2_name>.jar <prog_name>

আশা করি এটা কাজে লাগবে!


1
কিভাবে কার্যকর করতে হয় তা দেখানোর জন্য ধন্যবাদ। ডট কোলন আবার কী করে? এটি বর্তমান ডিরেক্টরি এবং ফাইল বিভাজক?
ক্লার্ক

হ্যাঁ এটি বর্তমান ডিরেক্টরি এবং একটি ইউনিক্স ফাইল বিভাজক (উইন্ডোজে এটি একটি সেমিকোলন)।
ম্যাথুসাম মুট

6

এটি .class ফাইল তৈরি করবে:

javac -classpath "[jarname with specified path]" [java filename]

এটি ক্লাস ফাইলটি কার্যকর করবে:

java -cp [jarname with specified path]: [java filename]

1
জাভা কমান্ড ত্রুটি দেখিয়েছে যার কারণে: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory আমি ** javac -classpath "/home/scorncer/Downloads/spark-core-2.3.jar" MyFile.javaএবং ** রান সংকলন করতে চাইjava -cp /home/scorncer/Downloads/spark-core-2.3.jar: MyFile.java also i tried java -cp /home/scorncer/Downloads/spark-core-2.3.jar: MyFile
যশ অগ্রবাল

5

এটা চেষ্টা কর.

javac -cp .:jars/jar1:jars/jar2:jars/jar3 com/source/*.java

2

রানটাইমের পাশাপাশি সংকলন সময়ে আপনাকে নির্ভরতাগুলি নির্দিষ্ট করতে হবে

সংকলন করতে এই বিন্যাসটি ব্যবহার করুন

javac -cp "*.jar;classfile_path" filename.java

উদাহরণ:

javac -cp "ojdbc6.jar;c:\programs" Main.java

এই উত্তরটি সঠিক হলেও, অন্য উত্তরগুলি ইতিমধ্যে বলে না এমন কিছু আসলেই যুক্ত করবে বলে মনে হচ্ছে না। যদি এই এবং অন্যান্য উত্তরগুলির মধ্যে কিছু মূল পার্থক্য থাকে তবে কেন আপনার উত্তর পৃথক হয় তা ব্যাখ্যা করা ভাল be
ডেভিড্যাভ ডেভ

আপনি রানটাইমের সময় নির্ভরতা নির্দিষ্ট করার পাশাপাশি সংকলনের সময় উল্লেখ করেছেন তবে রানটাইমগুলিতে কীভাবে সেগুলি নির্দিষ্ট করবেন তা ব্যাখ্যা করবেন না।
মাইকেল ফুলটন

1

কিছু সময় নিম্নলিখিত পরিবর্তনগুলি কাজ করে:

java -cp ".;%CLASSPATH%" classfilename 

দ্রষ্টব্য: উইন্ডোজ অন। $CLASSPATHপরিবর্তে লিনাক্স ব্যবহারের জন্য ।


1
javac -cp jars/jar1:jars/jar2:jars/jar3 abc.java

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

0

আপনি যদি উবুন্টু ব্যবহার করেন:

/opt/JavaServices/sqlite $ export CLASSPATH=/opt/JarFiles/XXXX.jar:/opt/JarFiles/XXXX.jar:/opt/JavaServices/;javac SQLiteSample.java

ফোল্ডারের অবস্থানটিতে যান (প্যাকেজ কাঠামোর বাইরে)

/opt/JavaServices $ export CLASSPATH=/opt/JarFiles/XXXXX.jar:/opt/JarFiles/XXXXX.jar:/opt/JavaServices/;java sqlite.SQLiteSample

দ্রষ্টব্য: দয়া করে ফাইলের অবস্থান এবং প্যাকেজের নামগুলি দেখুন


-1

উইন্ডোজ জন্য

  1. কমান্ড প্রম্পটে জাভা ফাইল উপস্থিত ডিরেক্টরিতে সংযুক্ত করুন connect
  2. শ্রেণিপথ সেট করুন (এখানে ডি = ফোল্ডারের নাম) সেট করুন শ্রেণিপথ = সি: \ d1 \ d2 \ d3 \ d4 \ d5 \ d6 \ d7.jar;
  3. এন্টার টিপুন এবং
  4. এখন জাভা ফাইল জাভ্যাক ফাইল নাম.জভা সংকলন করুন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.