জেডিকে 11+ এবং জাভাদোক


13
Exit code: 1 - javadoc: error - The code being documented uses packages in the unnamed module, but the packages defined in https://docs.oracle.com/en/java/javase/11/docs/api/ are in named modules.

কেউ কি সোর্স সংস্করণটিকে 1.8 তে পরিবর্তন না করে জাভাডোক কাজ করতে সক্ষম হয়েছেন (অন্যান্য ফোরামে প্রস্তাবিত)? আমি জেডিকে ভি 11.0.5 ব্যবহার করছি এবং সমস্যাটি এখনও উপস্থিত রয়েছে (জেডিকে 12+ সহ)।

সম্পাদনা করুন: এই ত্রুটিটি ম্যাভেন থেকে উত্পন্ন হয়েছিল এবং ম্যাভেন-জাভাদোক-প্লাগইন দ্বারা নিক্ষিপ্ত। <source>8</source>কনফিগারেশন থাকা সত্ত্বেও আমি এটি JDK 11+ এর জন্য কাজ করতে সক্ষম হইনি ।



আমি মনে করি এই প্রশ্নের আরও কিছু বিশদ প্রয়োজন। আপনি কি maven ব্যবহার করেন? আপনি কি আপনার প্রকল্পের মডিউল ব্যবহার করার চেষ্টা করেছেন বা করেছেন?
rü-

@ rü- ঠিক বলেছেন, ধন্যবাদ পোস্টটি আপডেট করেছি। হ্যাঁ, আমি মাল্টি-মডিউল সেটআপ সহ মাভেন ব্যবহার করছি।
রাফেল ইবাসকো

উত্তর:


7

ওপেনজেডিকে ইস্যু ট্র্যাকারে প্রস্তাবিত হিসাবে জাভাদোক প্লাগইনটিতে উত্স নির্ধারণের সাথে এটি প্রায় কাজ করা যেতে পারে:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-javadoc-plugin</artifactId>
    <configuration>
        <source>8</source>
    </configuration>
</plugin>

3
সম্ভবত, আপনি প্রশ্নটি পুরোপুরি পড়েন নি। ওপি স্পষ্টভাবে উল্লেখ করেছে:Has anyone been able to make javadoc work without having to change the source version to 1.8
অরবিন্দ কুমার অবিনাশ

1
এটা আমার জন্য কাজ করে. আমি ব্যবহার করি: <কনফিগারেশন> <সোর্স> {ava java.version} </source> </configration> এবং বৈশিষ্ট্যগুলিতে এটি জাভা ১১। কিছু কারণের জন্য আমাকে কেবল সংস্করণটি নির্দিষ্ট করতে হয়েছিল।
রানমা 2913

গ্রেডলে আপনি কীভাবে এটি করতে পারেন?
রাফি খ্যাচডৌড়িয়ান 21

1

জাভাডোক আপনার ব্যবহৃত প্যাকেজগুলির লিঙ্ক তৈরি করে, যেমন নথিতে লিখিত ক্লাসে .../javase/11/docs/api। আপনার মন্তব্যগুলি নামবিহীন মডিউলে থাকা অবস্থায় লক্ষ্যগুলি নেই এবং জাভাদোক এই দুটিকে একত্রিত করতে পারে না। এটি একটি package-listবা একটি element-listফাইল তৈরি করে , তাই আপনি নামযুক্ত মডিউলগুলির সাথে নামবিহীন মডিউলগুলি (প্যাকেজগুলি) মিশ্রিত করতে পারবেন না।

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


0

ডকলেট এপিআই ব্যবহারের জন্য জাভা 9 এর পরে একটি উল্লেখযোগ্য ব্রেকিং পরিবর্তন হয়েছে

জেপ 221: সরলকৃত ডকলেট এপিআই
পুরানো ডকলেট এপিআইকে নতুন সরলিকৃত এপিআই দিয়ে প্রতিস্থাপন করে যা অন্যান্য স্ট্যান্ডার্ড, বিদ্যমান এপিআইগুলিকে উপকৃত করে। নতুন ডকলেট এপিআই ব্যবহার করার জন্য স্ট্যান্ডার্ড ডকলেটটি নতুন করে লেখা হয়েছে

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

ওল্ড এপিআই com.sun.javadoc প্যাকেজ ব্যবহার করছে

ডকলেট এপিআই (যাকে জাভাদোক এপিআইও বলা হয়) ক্লায়েন্টদের উত্সে এম্বেড থাকা জাভাদোক মন্তব্য সহ প্রোগ্রাম এবং গ্রন্থাগারগুলির উত্স-স্তরের কাঠামো পরিদর্শন করার একটি ব্যবস্থা সরবরাহ করে।

আপনি নতুন ডকলেট এপিআই ব্যবহার করে চেষ্টা করতে পারেন, উদাহরণগুলি দেখুন

public class BasicDoclet implements Doclet {
@Override
public void init(Locale locale, Reporter reporter) {  }
@Override
public String getName() {
    // For this doclet, the name of the doclet is just the
    // simple name of the class. The name may be used in
    // messages related to this doclet, such as in command-line
    // help when doclet-specific options are provided.
    return getClass().getSimpleName();
}

4
আমি ভুল হতে পারি, তবে আমি এখানে সমাধান অংশটি সত্যিই বুঝতে পারি না। ইতিমধ্যে পঠিত প্রশ্নটি দেওয়া হয়েছে
নামান

"বিদ্যমান এপিআই এবং পুরাতন স্ট্যান্ডার্ড ডকলেটটি উপলভ্য, তবে মডিউলগুলির মতো নতুন ভাষা বৈশিষ্ট্যগুলি সমর্থন করার জন্য আপডেট করা হয়নি" সুতরাং এর মানে কি জাভাদোকটি 9 ও তদূর্ধের সংস্করণগুলির জন্য ভেঙে গেছে? এছাড়াও, আমার সমস্যাটি ম্যাভেন-জাভাদোক-প্লাগইন থেকে এই ত্রুটিটি রিপোর্ট করার ক্ষেত্রে রয়েছে। আমি নিশ্চিত না যে আপনি উপরে পোস্ট করা কোডটি কীভাবে সহায়তা করবে।
রাফায়েল ইবাসাসো

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