জাভ্যাক্স.অনোটেশন এর ভিতরে @ নুল্য খুঁজে পাচ্ছেন না *


116

আমি @Nullable মুছে ফেলতে টীকাটি ব্যবহার করতে চাই NullPointerExceptions। আমি নেটে কিছু টিউটোরিয়াল পেয়েছি, আমি লক্ষ্য করেছি যে এই টিকাটি প্যাকেজ থেকে এসেছে javax.annotation.Nullable; তবে আমি যখন এটি আমদানি করি তখন একটি সংকলন ত্রুটি উত্পন্ন হয়: প্রতীকটি খুঁজে পাওয়া যায় না

উত্তর:


145

এই ক্লাসটি বিদ্যমান এমন একটি জারটি আপনাকে অন্তর্ভুক্ত করতে হবে You আপনি এটি এখানে খুঁজে পেতে পারেন

মাভেন ব্যবহার করা হলে, আপনি নিম্নলিখিত নির্ভরতা ঘোষণা যোগ করতে পারেন:

<dependency>
  <groupId>com.google.code.findbugs</groupId>
  <artifactId>jsr305</artifactId>
  <version>3.0.2</version>
</dependency>

এবং গ্রেডলের জন্য:

dependencies {
  testImplementation 'com.google.code.findbugs:jsr305:3.0.2'
}

74
গুগল কেন (বিশেষত এর ফাইন্ডবગ્સ আর্টিক্ট) javaxপ্যাকেজের অন্তর্ভুক্ত এমন প্রকার সরবরাহ করছে ? javaxএই ধরণের সরবরাহ করে এমন একটি পূর্বনির্ধারিত গোষ্ঠী সহ কোনও শিল্পকর্ম নেই ?
অ্যান্ড্রু সোয়ান

9
@ অ্যান্ড্রুসওয়ান দেখে মনে হচ্ছে যে লেখক গ্রুপটি বেছে নিয়েছেন com.google.code.findbugsকারণ এটি গুগলের কোড হোস্টিং সমাধানে হোস্ট করা হয়েছিল
ম্যাট বি

2
গুগল-ফাইন্ডব্যাগগুলি হ'ল jsr305 এর রেফারেন্স বাস্তবায়ন, সুতরাং এগুলি জাভ্যাক্স-প্যাকেজ নামটি অনুমান করে নাম ব্যবহার করার জন্য তাদের একরকম অনুমতি দেওয়া হয়।
আইসিয়েরেসর

33

শিল্পকলা থেকে অন্য স্থানান্তরিত net.sourceforge.findbugsহয়েছে

<dependency>
    <groupId>com.google.code.findbugs</groupId>
    <artifactId>jsr305</artifactId>
    <version>3.0.0</version>
</dependency>

26

আপনি যদি গ্রেডল ব্যবহার করে থাকেন তবে আপনি এটির মতো নির্ভরতা অন্তর্ভুক্ত করতে পারেন:

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.0'
}

1
আমি চেষ্টা করেছি, এবং ত্রুটি পেয়েছি: org.gradle.api.intern.artifacts এ আর্গুমেন্টের জন্য [{গ্রুপ = com.google.code.findbugs, নাম = jsr305, সংস্করণ = 3.0.0}] জন্য পদ্ধতি সংকলন () খুঁজে পেল না। dsl.dependencies.DefaultDependencyHandler_Decorated@7b35fdf2।
কমল

উপরের উদাহরণ সহ @ কমল, এটি ধরেই নেওয়া হয় যে আপনি 'java'ইতিমধ্যে compileকনফিগারেশন তৈরি করেছেন এমন (বা অন্যান্য) প্লাগইন প্রয়োগ করেছেন ।
এমকোবিট

Javax.annotation.Nullable আমদানি করতে অক্ষম; আমার ক্লাসপথে jsr250-api-1.0.jar রয়েছে। এমনকি মাভেন পম আপডেট করার চেষ্টা করেছিলাম গ্রহপ <dependency> <groupId>com.google.code.findbugs</groupId> <artifactId>jsr305</artifactId> <version>3.0.0</version> </dependency> ত্রুটি দিয়েছে: নিখুঁত শিল্পcom.google.code.findbugs:jsr305:jar:3.0.0 Failure to transfer com.google.code.findbugs:jsr305:jar:3.0.0
স্যাম-টি

এটি অবশেষে jsr305-3.0.1.jar - কিছু গ্রহন সিপি ইস্যুতে কাজ করেছে। হ্যাঁ অবশেষে এটি গ্রহনে বাহ্যিক জার আমদানির পরে সংকলন করে
স্যাম-টি

রানটাইমের সময় জারটির প্রয়োজন নেই বলে compileOnly group..., ঠিক পরিবর্তে ব্যবহার করুনcompile group...
রেনাটো

7

অ্যান্ড্রয়েড প্রকল্প সংকলনের চেষ্টা করার সময় কারও কাছে এটির ক্ষেত্রে, বিকল্প নালযোগ্য বাস্তবায়ন রয়েছে android.support.annotation.Nullable। সুতরাং আপনি যে প্যাকেজটি আপনার importএস এ উল্লেখ করেছেন সেদিকে খেয়াল করুন।


4

বাহ্যিকভাবে ইন্টেলিজ আইডিইএতে তৈরি মাভেন প্রকল্প তৈরি করার সময় কারও যদি এই সমস্যা থাকে তবে আমি উত্তরের পরিবর্তে নিম্নলিখিত নির্ভরতা ব্যবহার করেছি:

<dependency>
  <groupId>org.jetbrains</groupId>
  <artifactId>annotations</artifactId>
  <version>15.0</version>
</dependency>

এটি ব্যবহারের ফলে প্রকল্পটি ইন্টেলিজ আইডিইএ এবং ম্যাভেন ব্যবহার করে নিজেই তৈরি করতে পারবে।

আপনি এটি এখানে খুঁজে পেতে পারেন ।


2
হুঁশিয়ার করে org.jetbrains:annotations:15.0উপলব্ধ @org.jetbrains.annotations.Nullableনা @javax.annotation.Generated। আপনি যদি কিছু কোড জেনারেটর হিসাবে ব্যবহার করেন তবে এটি কোনও সমস্যা হতে পারে openapi-generator-maven-plugin
দানিদেবী

3

আপনি আপনার গ্রেড.বিল্ডের মধ্যে নিম্নলিখিত লাইনটি যুক্ত করে এর সর্বশেষতম সংস্করণ যুক্ত করতে পারেন।

implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2'

2

আমি পেয়ারা ব্যবহার করছি যার মধ্যে টীকা যুক্ত রয়েছে:

(গ্রেডল কোড)

compile 'com.google.guava:guava:23.4-jre'

1

অ্যান্ড্রয়েড প্রকল্পগুলির ক্ষেত্রে, আপনি প্রকল্প / মডিউল গ্রেডেল ফাইল (build.gradle) কে নিম্নরূপে পরিবর্তন করে এই ত্রুটিটি সমাধান করতে পারেন:

dependencies { implementation 'com.android.support:support-annotations:24.2.0' }

আরও তথ্যের জন্য, দয়া করে এখানে দেখুন

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