কীভাবে একটি দরকারী জাভা গ্রন্থাগার তৈরি এবং প্রকাশ করতে হয়


9

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

  • সর্বাধিক লাইব্রেরি আমি বিশেষভাবে সহ এই জটিল প্যাকেজ নামকরণ আছে দেখুন, com/ org। এগুলির জন্য কোনও কনভেনশন রয়েছে নাকি permutationsপ্যাকেজ যথেষ্ট?
  • এগুলি প্রকাশ করার জন্য কি কোনও নির্দিষ্ট বিন্যাস আছে? উত্স কোড / জাভাদোকের জন্য আমার পৃথক WARs অন্তর্ভুক্ত করা উচিত?
  • আমার কাছে একটি গিটহাবের সংগ্রহস্থল রয়েছে। আমি অনুমান করি যে আমি সেখানে ফাইলগুলি পরিবেশন করতে পারি তবে আমি কীভাবে লোকদের আমার রেপো সন্ধান করব?

সম্মেলন প্যাকেজ নামকরণের জন্য বিপরীত ইন্টারনেট ডোমেইন
ড্যানিয়েল Moura,

2
এবং যদি আমার একটি ডোমেন না থাকে?
আমির রাছুম

1
@ আমির: তারপরে আমার মনে হয় এর মতো amirrachum.util.permutationsভালো কিছু হতে পারে।
হতাশ

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

উত্তর:


9
  • (গিটহাবের উত্স কোড ব্যতীত) প্রকাশের একটি স্ট্যান্ডার্ড উপায় হ'ল মাভেন সেন্ট্রালে আনুষ্ঠানিক জেআর / ওয়ার রিলিজ হওয়া যা অনেকগুলি (ম্যাভেন, গ্রেডল, পিঁপড়া / আইভী) লাইব্রেরিগুলিকে নির্ভরতা হিসাবে আনার জন্য সরঞ্জাম তৈরি করে। এটি করার জন্য, সেরা উপায়টি হল নেক্সাস প্রক্রিয়াটি অতিক্রম করা ।

  • সোর্সফোর্জ বা গিটহাবের মতো কোড হোস্টিং রেপোতে সেই একই জেআর / ওয়ারগুলি হোস্ট করার জন্য এটি বন্ধুত্বপূর্ণও বিবেচিত হয়।

  • আপনার ডোমেনের ক্ষেত্রে। আমি আপনাকে ফার্স্টনামলস্টনেস্ট.নেট / অর্গ / কম কম কেনার পরামর্শ দিচ্ছি এবং এটি আপনার নামকরণ প্রকল্প হিসাবে ব্যবহার করুন (যেমন আমার জন্য এটি নেট.মারতিজনবার্গ.ফুবার)। অন্যথায় @ ড্যানিয়েল মৌরার পরামর্শ অনুযায়ী গিথুব ডোমেন ব্যবহার করা ভাল।

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

আছে HTH!


নেক্সাস প্রক্রিয়াটির জন্য +1 - অন্যান্য বিকাশকারীদের ব্যবহার করতে খুব দরকারী এবং তাই আপনার গ্রন্থাগারটি পর্যালোচনা করুন
গ্যারি রোয়ে

3

আপনি যদি কোডটি গিটহাবের দিকে ঠেলে থাকেন তবে জিতপ্যাকের সাথে আপনার লাইব্রেরি (জার) ভাগ করা সহজ ।

আপনার ব্যবহারকারীদের কেবল তাদের বিল্ড.gradle এ ভান্ডার যুক্ত করতে হবে:

repositories {
    mavenCentral()
    maven { url "https://jitpack.io" }
}

এবং তারপরে নির্ভরতা হিসাবে আপনার গিটহাবের সংগ্রহস্থল:

dependencies {
    // ...
    compile 'com.github.YourUsername:Repo:Release'
}

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

কীভাবে একটি প্রকল্প প্রস্তুত করতে হয় এবং একটি উত্স জারে যুক্ত করার উদাহরণও রয়েছে তার জন্য একটি গাইড রয়েছে।

এটির জন্য একটি ডোমেন নাম থাকা প্রয়োজন নেই যাতে আপনার গ্রুপআইডি com.github.Username হয়ে যায়। আপনি এটি প্যাকেজ নামকরণের জন্যও ব্যবহার করতে পারেন।


2

আমি দেখতে বেশিরভাগ লাইব্রেরিতে এই জটিল প্যাকেজটির নামকরণ রয়েছে, বিশেষত com / org সহ। এগুলির জন্য কোনও কনভেনশন রয়েছে বা একটি ক্রমজাত প্যাকেজ যথেষ্ট?

আপনার প্যাকেজগুলির নাম কীভাবে রাখবেন সে সম্পর্কে ওરેકল থেকে প্রস্তাবনা রয়েছে । এই নামকরণের সম্মেলনের কারণ হ'ল নকলকে হ্রাস করা। প্রত্যেকে যদি সংক্ষিপ্ত, সাধারণ নাম ব্যবহার করে, তবে এটির আরও বেশি সম্ভাবনা রয়েছে যে কোনও প্রকল্পে দুটি permutationপ্যাকেজ অন্তর্ভুক্ত থাকবে । যদি একটি শ্রেণির নাম একই হয় তবে নামকরণের বিরোধ আছে। বিকাশকারীদের পক্ষে বিষয়গুলি বিভ্রান্ত করতে পারে, যদি ক্লাসগুলির রেজোলিউশন রোধ করে এমন বিরোধের নামকরণ না হয়।

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

এগুলি প্রকাশ করার জন্য কি কোনও নির্দিষ্ট বিন্যাস আছে? উত্স কোড / জাভাদোকের জন্য আমার পৃথক WARs অন্তর্ভুক্ত করা উচিত?

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

আমার কাছে একটি গিটহাবের সংগ্রহস্থল রয়েছে। আমি অনুমান করি যে আমি সেখানে ফাইলগুলি পরিবেশন করতে পারি তবে আমি কীভাবে লোকদের আমার রেপো সন্ধান করব?

এটি বিজ্ঞাপন। এটি কয়েক বন্ধুকে বন্ধ করে দেখিয়ে শুরু করুন। এটি সম্পর্কে ব্লগ। ইন্টারনেটে একটি লিঙ্ক ভাগ করুন। এই লাইব্রেরিটি ব্যবহার করে যাদের সমাধান করতে পারে এমন সমস্যা আছে এমন কাউকে খুঁজুন (তবে আপনি নিশ্চিত করে নিন যে আপনি লাইব্রেরিটি তৈরি করেছেন)।

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