কীভাবে জাভা.লং.নোক্লাসডেফফাউন্ডআরার সমাধান করবেন: জাভা 9 / এক্সএলএমএল / বাইন্ড / জাএক্সবিএক্সেপশন জাভা 9-তে


842

আমার কিছু কোড রয়েছে যা জাএক্সবি এপিআই ক্লাস ব্যবহার করে যা জাভা Java/7/২০১৮ এর জেডিকে অংশ হিসাবে সরবরাহ করা হয়েছে। আমি যখন জাভা 9 এর সাথে একই কোডটি চালাচ্ছি, রানটাইমের সময় আমি ত্রুটি পেয়েছি যা ইঙ্গিত করে যে জ্যাকএক্সবি ক্লাসগুলি পাওয়া যায় না।

জেএক্সবি ক্লাসগুলি জাভা 6 এর পর থেকে জেডিকে অংশ হিসাবে সরবরাহ করা হয়েছে, তবে জাভা 9 কেন এই ক্লাসগুলি আর খুঁজে পাবে না?


2
এই উত্তরের অতিরিক্ত অংশটি এই এপিআই-এর স্থানান্তরের সাথে সম্পর্কিত।
নমন

7
জাভা 8 দিয়ে বিল্ডিং আপনার কোডটি হ্যাঁ সংকলনের জন্য পেয়ে যাবে, তবে আপনি জাভা 9+ তে যে সংকলিত কোডটি চালানোর চেষ্টা করবেন সেটি ব্যর্থ হবে কারণ জ্যাক্স-বি উপস্থিত নেই is
অ্যান্ডি গুইবার্ট

1
জাভা ১১-এর জন্য, এই নিবন্ধটির সমাধানটি আপ টু ডেট: crunchify.com/java-11-and-javax-xML-bind-jaxbcontext
এরিক ওয়াং

উত্তর:


1221

জ্যাকএক্সবি এপিআইগুলি জাভা ইই এপিআই হিসাবে বিবেচিত হয় এবং তাই আর সে জাভা এসই ৯ এ ডিফল্ট শ্রেণিপথের মধ্যে নেই Java

জাভা 9 মডিউলগুলির ধারণাগুলি উপস্থাপন করে এবং ডিফল্টরূপে java.seসমষ্টিগত মডিউলটি ক্লাসপথে (বা পরিবর্তে, মডিউল-পাথ) উপলভ্য। নামটি থেকে বোঝা যায়, java.seসামগ্রিক মডিউলটিতে জাভা EE API গুলি অন্তর্ভুক্ত নয় যা Javaতিহ্যগতভাবে জাভা 6/7/8 এর সাথে বান্ডিল করা হয়েছে।

ভাগ্যক্রমে, JDK 6/7/8 এ সরবরাহ করা এই জাভা EE API গুলি এখনও জেডিকে রয়েছে, তবে সেগুলি ডিফল্টরূপে ক্লাসপথে নেই। অতিরিক্ত জাভা EE API গুলি নিম্নলিখিত মডিউলগুলিতে সরবরাহ করা হয়েছে:

java.activation
java.corba
java.transaction
java.xml.bind  << This one contains the JAXB APIs
java.xml.ws
java.xml.ws.annotation

দ্রুত এবং নোংরা সমাধান: (জেডি কে 9-10 কেবল)

রানটাইমের সময় জ্যাকএক্সবি এপিআইগুলি উপলব্ধ করতে, নিম্নলিখিত কমান্ড-লাইন বিকল্পটি উল্লেখ করুন:

--add-modules java.xml.bind

তবে জাভা 8 এর সাথে কাজ করার জন্য আমার এখনও এটি দরকার !!!

আপনি যদি --add-modulesকোনও পুরনো জেডিকে দিয়ে নির্দিষ্ট করার চেষ্টা করেন তবে এটি ফুরিয়ে যাবে কারণ এটি একটি অপরিজ্ঞাত বিকল্প। আমি দুটি বিকল্পের মধ্যে একটির পরামর্শ দিচ্ছি:

  1. আপনি JDK_JAVA_OPTIONSপরিবেশের পরিবর্তনশীল ব্যবহার করে যে কোনও জাভা 9+ বিকল্পগুলি সেট করতে পারেন । এই পরিবেশের পরিবর্তনশীলটি স্বয়ংক্রিয়ভাবেjava জাভা 9+ এর জন্য লঞ্চারটি দ্বারা পঠিত হয় ।
  2. আপনি -XX:+IgnoreUnrecognizedVMOptionsজেভিএমকে ফুটিয়ে তোলার পরিবর্তে অজানা বিকল্পগুলি চুপচাপ উপেক্ষা করার জন্য এটি যুক্ত করতে পারেন । তবে সাবধান! আপনি যে কোনও কমান্ড-লাইন যুক্তি ব্যবহার করেন সেগুলি আর আপনার জন্য JVM দ্বারা বৈধ হবে না। এই বিকল্পটি ওরাকল / ওপেনজেডিকে পাশাপাশি আইবিএম জেডিকে (জেডিকে 8 এসআর 4 ​​হিসাবে) নিয়ে কাজ করে।

বিকল্প তাত্ক্ষণিক সমাধান: (JDK 9-10 কেবল)

দ্রষ্টব্য যে আপনি --add-modules java.se.eeবিকল্পটি নির্দিষ্ট করে উপরের জাভা EE মডিউলগুলি রান সময়ে উপলব্ধ করতে পারবেন। java.se.eeমডিউল একটি সমষ্টিগত মডিউল যে রয়েছে java.se.eeসেইসাথে উপরে জাভা EE এপিআই মডিউল। দ্রষ্টব্য, এটি জাভা 11 এ কাজ করে না কারণ জাভা 11-java.se.ee এ সরানো হয়েছিল।


সঠিক দীর্ঘমেয়াদী সমাধান: (জেডিকে 9 এবং এর বাইরে)

জাভা EE এপিআই উপরে তালিকাভুক্ত মডিউল সব চিহ্নিত করা হয়েছে @Deprecated(forRemoval=true)কারণ তারা অপসারণের জন্য নির্ধারিত মধ্যে জাভা 11 । সুতরাং --add-moduleঅ্যাপ্লিকেশনটি আর জাভা ১১--র-বাক্সে কাজ করবে না।

আপনার জাভা ১১-এ এবং ফরোয়ার্ডে যা করতে হবে তা হ'ল শ্রেণিপথ বা মডিউল পথের জাভা ইই এপিআইয়ের নিজস্ব অনুলিপি। উদাহরণস্বরূপ, আপনি জ্যাকস-বি এপিআইগুলিকে ম্যাভেন নির্ভরতা হিসাবে এটি যুক্ত করতে পারেন:

<!-- API, java.xml.bind module -->
<dependency>
    <groupId>jakarta.xml.bind</groupId>
    <artifactId>jakarta.xml.bind-api</artifactId>
    <version>2.3.2</version>
</dependency>

<!-- Runtime, com.sun.xml.bind module -->
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>2.3.2</version>
</dependency>

দেখুন JAXB রেফারেন্স বাস্তবায়ন পৃষ্ঠা JAXB আরও বিশদের জন্য।

জাভা মডুলারিটির সম্পূর্ণ বিবরণের জন্য JEP 261 দেখুন: মডিউল সিস্টেম

গ্রেডল বা অ্যান্ড্রয়েড স্টুডিও বিকাশকারীদের জন্য: (জেডিকে 9 এবং এর বাইরে)

আপনার build.gradleফাইলে নিম্নলিখিত নির্ভরতা যুক্ত করুন:

dependencies {
    // JAX-B dependencies for JDK 9+
    implementation "jakarta.xml.bind:jakarta.xml.bind-api:2.3.2"
    implementation "org.glassfish.jaxb:jaxb-runtime:2.3.2"
}

8
সুতরাং যদি জাভা ইই এপিআই মডিউলগুলি অবচয় হিসাবে চিহ্নিত করা হয়েছে তার মানে কি জাভা 10 জেএক্সবি জাভা 10-র রানটাইমটিতে আর উপলব্ধ থাকবে না এমন সম্ভাবনা রয়েছে? একদম পেছনের মত মনে হচ্ছে। নির্ভরতা হিসাবে জ্যাকএক্সবি অন্তর্ভুক্ত করার প্রাক -6 অনুশীলনে আমাদের ফিরে যেতে হবে।
মাইকেল

4
Jad.se.ee বা --add- মডিউলগুলি সমস্ত-সিস্টেম হিসাবে ওয়ার্কআরাউন্ড হিসাবে ব্যবহার করার জন্য মাইগ্রেশন গাইড অনুসারে এখানে ডকস.ওরকল / জাভ্যাস / / / জাভা EE এর সাথে ভাগ করা মডিউলগুলির অধীনে স্থানান্তরিত করার পরামর্শ দেওয়া হয় না Not ডিফল্ট -> পয়েন্ট 1
কেবলমাত্র

6
জাভা 10 সরকারীভাবে প্রকাশিত হওয়ার সাথে আমরা নিশ্চিত করতে পারি যে অ্যাড-মডিউলগুলি এখনও কাজ করবে। javax.xml.bindএবং অন্যান্য JavaEE শ্রেণীর প্রতি, জাভা 11 অপসারণের জন্য নির্ধারিত করা হয় JEP-320
জোপ ওয়েইজার্স

10
এবং এখন জাভা 11 প্রকাশিত হয়েছে এবং java.se.eeমডিউলটি সরানো হয়েছে, সুতরাং --add-modulesসমাধানটি আর কাজ করে না। পরিবর্তে প্রস্তাবিত সমাধানটি ব্যবহার করুন: পৃথক নির্ভরতা হিসাবে জ্যাকএক্সবি যুক্ত করুন।
জেস্পার

11
আমি এই নির্ভরশীলতাগুলি যুক্ত করেছি এবং এটি এখনও আমাকে একই ত্রুটি দিচ্ছে। কোন ধারণা কেন?
জোয়াও ভিয়েরা

262

আমার ক্ষেত্রে (স্প্রিং বুট ফ্যাট জারের) আমি কেবল নিম্নলিখিতগুলি pom.xML এ যুক্ত করব।

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.1</version>
</dependency>


9
গ্রেড নির্ভরতা যুক্ত testCompile('javax.xml.bind:jaxb-api')করা আমার জন্য এটি কাজ করেছিল।
পামসেভয়

5
@ পামসেভয়ের উল্লিখিত মত, স্প্রিং বুট ব্যবহার করার সময় জ্যাক্সবি-এপিআইয়ের সংস্করণ নির্দিষ্ট করার দরকার নেই। বুটটি স্বয়ংক্রিয়ভাবে সংস্করণ পরিচালনা করে।
মার্সেল ওভারডিজক

2
আমি এই <scope>runtime</scope>জাতীয় ক্ষেত্রে ব্যবহার করার পরামর্শ দিচ্ছি
ভ্ল্যাডস

5
@ টুনোর লিঙ্কটি আমার পক্ষে কাজ করে নি, স্থির লিঙ্কটি হ'ল: github.com/spring-projects/spring-boot/wiki/…
ফ্রান্সিসকো

69

সাম্প্রতিক জেডিকে 9.0.1-এ এই সমাধানগুলির কোনওটিই আমার পক্ষে কার্যকর হয়নি।

আমি খুঁজে পেয়েছি যে নির্ভরশীলতার এই তালিকাটি একটি যথাযথ কার্যকারিতার জন্য যথেষ্ট, সুতরাং আপনার স্পষ্টভাবে নির্দিষ্ট করার দরকার নেই--add-module (যদিও এটি নির্ভরশীলতার পোমের মধ্যে নির্দিষ্ট করা থাকে)। নির্ভরতার তালিকাটি নির্দিষ্ট করার জন্য কেবল আপনার প্রয়োজন need

<dependencies>
    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jaxb</groupId>
        <artifactId>jaxb-runtime</artifactId>
        <version>2.3.0</version>
    </dependency>
    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>
</dependencies>

2
জেডিকে 8 এর জন্য, উপরে থেকে জ্যাক্সবি-কোর এবং জ্যাক্সবি-ইমপ্লিট সরিয়ে দিন।
foo

3
@ অ্যানিল pom.xmlএটি ম্যাভেন কনফিগারেশনের একটি ফাইল। এটি যদি আপনি না জানেন তবে
ভিক্ষা

8
একটি অবৈধ প্রতিফলিত অ্যাক্সেস অপারেশন ঘটেছে সতর্কতা: com.sun.xML.bind.v2.runtime.reflect.opt.Injector (ফাইল: / সি: / ব্যবহারকারী / আইস / এম 2 / রিপোসিটরি / কম / সান / xML / bind / jaxb-impl / 2.3.0 / jaxb-impl-2.3.0.jar) to java.lang.ClassLoader.defineClass (java.lang.String, বাইট [], int, int) সতর্কতা: দয়া করে বিবেচনা করুন com.sun.xML.bind.v2.runtime.reflect.opt.Injector সতর্কতা: আরও অবৈধ প্রতিফলিত অ্যাক্সেস অপারেশনগুলির সতর্কতা সক্ষম করতে --illegal-access = সতর্কতা ব্যবহার করুন সতর্কতা: সমস্ত অবৈধ অ্যাক্সেস ক্রিয়াকলাপ হবে ভবিষ্যতের প্রকাশে অস্বীকৃত
স্টিফান

1
এটি আমার পক্ষে জেডিকে 9.0.4 এ কাজ করেছিল (আমি জেএক্সবি সম্পর্কিত কোডটি ম্যাভেন প্লাগইনের মাধ্যমে মাভেন ৩.৩.৩ দিয়ে কল করছিলাম)। যদিও আমি <dependency> <groupId>javax.activation</groupId> <artifactId>javax.activation-api</artifactId> <version>1.2.0</version> </dependency>শেষ নির্ভরতা হিসাবে ব্যবহার করব ।
স্ক্রুটারি

1
অসাধারণ. আমার একটি পরিস্থিতি ছিল - কোনও কারণে - একটি স্প্রিং বুট অ্যাপ্লিকেশনটি ইন্টিলিজ সিইতে চলবে তবে ম্যাকের উপর এবং গ্রহনে নয়, উইন 10 তে ইন্টেলিজ সিই হবে। দুটি প্ল্যাটফর্মে একটি আইডিইতে কাজ করতে সক্ষম হওয়া সুবিধা।
কমেন্ট

42

এটি আমার পক্ষে কাজ করেছে:

<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>eclipselink</artifactId>
    <version>2.7.0</version>
</dependency>

হালনাগাদ

@ য্যাস্পারের পরামর্শ অনুসারে, পুরো অ্যাকলিপস লিঙ্ক লাইব্রেরির উপর নির্ভর করে এড়াতে আপনি কেবল এক্সলিপলিংক মোক্সির উপর নির্ভর করতে পারেন:

ম্যাভেন

<dependency>
    <groupId>org.eclipse.persistence</groupId>
    <artifactId>org.eclipse.persistence.moxy</artifactId>
    <version>2.7.3</version>
</dependency>

Gradle

compile group: 'org.eclipse.persistence', name: 'org.eclipse.persistence.moxy', version: '2.7.3'

আমার জাভা 8 অ্যাপ্লিকেশনটির নির্ভরতা হিসাবে, যা একটি * .জার উত্পাদন করে যা কোনও অতিরিক্ত যুক্তি ছাড়াই জেআরই 8 বা জেআরই 9 উভয় দ্বারা চালিত হতে পারে।

এছাড়াও, জ্যাকএক্সবি এপিআই ব্যবহার করার আগে এটি অন্য কোথাও কার্যকর করা দরকার:

System.setProperty("javax.xml.bind.JAXBContextFactory", "org.eclipse.persistence.jaxb.JAXBContextFactory");

একটি workaround হিসাবে এখন পর্যন্ত দুর্দান্ত কাজ করে। যদিও নিখুঁত সমাধানের মতো দেখাচ্ছে না ...


5
যোগ org.eclipse.persistence:eclipselinkশুধু JAXB API গুলি পেতে হয় একটি খুব ভারী ওজন নির্ভরতা, যদি না আপনি ইতিমধ্যে eclipselink ব্যবহার করা হয়?
অ্যান্ডি

4
হ্যাঁ এটি ভারী (9 ডলার) এবং হ্যাঁ আমি এটি ইতিমধ্যে ব্যবহার করছি। আমি উল্লেখ করেছি যে এটি কেবল তাদের জন্য একটি বিকল্প কাজ, সম্ভবত অস্থায়ী, কমান্ড-লাইন যুক্তি সরবরাহ না করে একই জার / যুদ্ধের জন্য 8 এবং 9 জেআরই উভয়ই ব্যবহার করতে হবে।
মিখাইল খোলোদকভ

2
জেডিকে 8 এবং 9 এর মধ্যে ইন্টারপ করার স্বার্থে, আমি -XX:+IgnoreUnrecognizedVMOptionsকমান্ড লাইন বিকল্পটি ব্যবহার করার পরামর্শ দেব (বিশদ সহ আমার উত্তর আপডেট করুন)
অ্যান্ডি

System.setProperty ("javax.xML.bind.JAXBContextFactory", "org.eclipse.persistance.jaxb.JAXBContextFactory"); আমার জন্য কাজ করে না
ডেভিড ব্রসার্ড

1
পুরো ইক্লিপস লিংক লাইব্রেরির উপর নির্ভর করে এড়াতে, আপনি কেবলমাত্র EclipseLink MOXy: groupId org.eclipse.persistence, আর্টিফ্যাক্টআইডি উপর নির্ভর করতে পারেন org.eclipse.persistence.moxy
জেস্পার

36

সমস্ত JDKs> = 9 এর জন্য পরিষ্কার সমাধান

আপনার বিল্ডে আপনাকে দুটি নির্ভরতা যুক্ত করতে হবে

  • জ্যাক্সবি-এপিআই
  • একটি jaxb বাস্তবায়ন

একটি বাস্তবায়ন হিসাবে আমি পুরানো com.sun ক্লাস / লাইব্রেরি থেকে মুক্তি পেতে গ্লাস ফিশ দ্বারা রেফারেন্স প্রয়োগকরণটি বেছে নিয়েছি। সুতরাং ফলস্বরূপ আমি আমার maven বিল্ড যোগ

<dependency>
  <groupId>javax.xml.bind</groupId>
  <artifactId>jaxb-api</artifactId>
  <version>2.3.1</version>
</dependency>

<dependency>
  <groupId>org.glassfish.jaxb</groupId>
  <artifactId>jaxb-runtime</artifactId>
  <version>2.3.1</version>
</dependency>

নোট করুন যে সংস্করণ ২.৩.১ থেকে আপনার আর জাভ্যাক্স.অ্যাক্টিভেশন যুক্ত করার দরকার নেই। ( https://github.com/eclipse-ee4j/jaxb-ri/issues/1222 দেখুন )


Javax.xML.bind মডিউলটি কি সত্যিই প্রয়োজনীয়? জেডিকে ১১-এ আমার কোড এটি ছাড়া কাজ করে।
k.liakos

@ k.liakos আমি নিশ্চিত নই জ্যাক্সবি-রানটাইম জার এবং এপিআই-জার একই ক্লাস / প্যাকেজ ভাগ করে না। আমার ধারণা এটি আপনার কোডের উপর নির্ভর করে। যদি আপনার কোড প্যাকেজ 'javax.xML.bind' থেকে ক্লাস ব্যবহার না করে তবে আপনার সম্ভবত এটির দরকার নেই। এই থ্রেডের বিষয় হ'ল 'জাভ্যাক্স / এক্সএমএল / বাইন্ড / জ্যাকএক্সবিসেপশন' খুঁজে পাওয়া যায় না; এই শ্রেণিটি কেবল জ্যাক্সবি-এপিআইতে রয়েছে।
সেবাস্তিয়ান থিস

1
জাভা 12. মধ্যে বহু-মডিউল প্রকল্পের সঙ্গে পুরোপুরি কাজ করে
Heril Muratovic

35

এর কারণ জাভা সংস্করণ যদি আপনি jdk 9 বা তার পরবর্তী সংস্করণ ব্যবহার করেন তবে এটি কেবল আপনার পোমে যুক্ত করুন

<dependency>
  <groupId>javax.xml.bind</groupId>
  <artifactId>jaxb-api</artifactId>
  <version>2.3.0</version>
</dependency>

1
আমি স্প্রিং বুট গাইড সহ সর্বদা এটি চালাচ্ছি ... ধন্যবাদ একটি টন।
মাস্টারসিল্লো

2
@ সিজার রদ্রিগেজ টি, আমি এটি একটি স্বাচ্ছন্দ্যের উদাহরণ দিয়ে চেষ্টা করেছি এবং সংকলন কাজ করেছি কিন্তু দৌড়ানোর ফলে ত্রুটি হয়েছে। আমি নির্বাচিত উত্তরটি ব্যবহার করেছি যার মধ্যে আরও নির্ভরতা এবং এটি কাজ করেছিল।
প্যাটস

আপনার প্রকল্পের pom.xML ফাইলটিতে
সিজার রডরিগেজ টি

22

এটি সমাধানের জন্য, আমি আমার প্রকল্পে কিছু জেআর ফাইল আমদানি করেছি:

  • javax.activation-1.2.0.jar

http://search.maven.org/remotecontent?filepath=com/sun/activation/javax.activation/1.2.0/javax.activation-1.2.0.jar

  • jaxb-API-2.3.0.jar

http://search.maven.org/remotecontent?filepath=javax/xml/bind/jaxb-api/2.3.0/jaxb-api-2.3.0.jar

  • jaxb কোর-2.3.0.jar

http://search.maven.org/remotecontent?filepath=com/sun/xml/bind/jaxb-core/2.3.0/jaxb-core-2.3.0.jar

  • jaxb-impl-2.3.0.jar

http://search.maven.org/remotecontent?filepath=com/sun/xml/bind/jaxb-impl/2.3.0/jaxb-impl-2.3.0.jar

  1. উপরের ফাইলগুলি ডাউনলোড করুন এবং এগুলি প্রকল্পের লিব্স ফোল্ডারে অনুলিপি করুন
  2. জাভা বিল্ড পাথে আমদানি করা জেআর ফাইলগুলি যুক্ত করুন

4
নোট করুন যে com.sun.xml.bindনিদর্শনগুলি পুরানো এবং কেবল পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়েছে। org.glassfish.jaxbপরিবর্তে আপনার সমতুল্য নিদর্শনগুলি ব্যবহার করা উচিত , যেমন অন্য কয়েকটি উত্তরে উল্লিখিত হয়েছে।
জেস্পার

এটি আমার পক্ষে কাজ করে না। এটি একটি ত্রুটি ফেলেছিল এবং বলেছিল যে এটি একটি নির্দিষ্ট শ্রেণি খুঁজে পাচ্ছে না।
রামেন শেফ

যখন গ্রিলস ৩.৪.১০ অ্যাপ্লিকেশন মোতায়েন করার সময় আমি টিনক্যাট ৯ / লিব ফোল্ডারে পুদিনা 19.2 (উবুন্টু 18.04 বেস) এর অধীনে রেখেছি তখন আমার জন্য কাজ করেছিল।
মোহামাদ ফকিহ

18

সংকলনের পাশাপাশি রান টাইমের সময়, সুইচটি যুক্ত করুন --add-modules java.xml.bind

javac --add-modules java.xml.bind <java file name>

java --add-modules java.xml.bind <class file>

JDK 9মডিউলগুলির একটি ভাল পরিচয় পাওয়া যাবে এখানে: https://www.youtube.com/watch?v=KZfbRuvv5qc


11

এটি আমার পক্ষে কাজ করেছে। কেবল জ্যাকসবি-এপি যোগ করা যথেষ্ট ছিল না।

        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>${jaxb-api.version}</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>${jaxb-api.version}</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>${jaxb-api.version}</version>
        </dependency>

এবং jaxb-api.version সেট করা হয়েছিল?
মিগুয়েলমুনোজ

@ মিগুয়েলমুনোজ আমি ২.২..7 ব্যবহার করেছি
মিঃ জেডি

2
নোট করুন যে com.sun.xml.bindনিদর্শনগুলি পুরানো এবং কেবল পশ্চাদপদ সামঞ্জস্যের জন্য সরবরাহ করা হয়েছে। org.glassfish.jaxbপরিবর্তে আপনার সমতুল্য নিদর্শনগুলি ব্যবহার করা উচিত , যেমন অন্য কয়েকটি উত্তরে উল্লিখিত হয়েছে।
জেস্পার

11

আপনার বিল্ড.gradle এ যান এবং জাভা 9 বা জাভা 10 উভয়ের জন্য নীচে নির্ভরতা যুক্ত করুন।

sourceCompatibility = 10 // You can also decrease your souce compatibility to 1.8 

//java 9+ does not have Jax B Dependents

    compile group: 'javax.xml.bind', name: 'jaxb-api', version: '2.3.0'
    compile group: 'com.sun.xml.bind', name: 'jaxb-core', version: '2.3.0'
    compile group: 'com.sun.xml.bind', name: 'jaxb-impl', version: '2.3.0'
    compile group: 'javax.activation', name: 'activation', version: '1.1.1'

11

আপনি --add-modules=java.xml.bindজেভিএম রান-টাইম পরিবেশে এক্সএমএল বাইন্ড মডিউল যুক্ত করতে JVM বিকল্পটি ব্যবহার করতে পারেন ।

উদাহরণ: java --add-modules=java.xml.bind XmlTestClass


11

এপ্রিল 2019 আপডেট করুন

জ্যাকএক্সবি প্রকাশের জন্য চেঞ্জলংটি https://javaee.github.io/jaxb-v2/doc/user-guide/ch02.html এ রয়েছে

উদ্ধৃতাংশ:

    4.1. Changes between 2.3.0.1 and 2.4.0

         JAXB RI is now JPMS modularized:

            All modules have native module descriptor.

            Removed jaxb-core module, which caused split package issue on JPMS.

            RI binary bundle now has single jar per dependency instead of shaded fat jars.

            Removed runtime class weaving optimization.

    4.2. Changes between 2.3.0 and 2.3.0.1

          Removed legacy technology dependencies:

            com.sun.xml.bind:jaxb1-impl

            net.java.dev.msv:msv-core

            net.java.dev.msv:xsdlib

            com.sun.xml.bind.jaxb:isorelax

    4.3. Changes between 2.2.11 and 2.3.0

          Adopt Java SE 9:

            JAXB api can now be loaded as a module.

            JAXB RI is able to run on Java SE 9 from the classpath.

            Addes support for java.util.ServiceLoader mechanism.

            Security fixes

অনুমোদনের লিঙ্কটি https://github.com/eclipse-ee4j/jaxb-ri#maven-artifacts এ রয়েছে

জেএক্সবি আর্টিক্টসের জন্য মাভেন স্থানাঙ্ক

jakarta.xML.bind: jakarta.xML.bind-api: JAXB- এর জন্য এপিআই ক্লাস। জ্যাকএক্সবির বিপরীতে সংকলন করা দরকার।

org.glassfish.jaxb: jaxb- রানটাইম: জ্যাকএক্সবি বাস্তবায়ন, সিরিয়ালাইজেশনের জন্য রানটাইম ব্যবহৃত হয় এবং এক্সএমএল থেকে ডিসারায়ালাইজেশন জাভা অবজেক্টের জন্য ব্যবহৃত হয়।

জ্যাকএক্সবি ফ্যাট-জারের বান্ডিলগুলি:

com.sun.xML.bind: jaxb-impl: JAXB রানটাইম ফ্যাট জার।

Org.glassfish.jaxb নিদর্শনগুলির বিপরীতে, এই জারগুলির মধ্যে অন্তর্ভুক্ত সমস্ত নির্ভরশীলতা ক্লাস রয়েছে। এই নিদর্শনগুলিতে জেপিএমএস মডিউল বর্ণনামূলক নেই। ম্যাভেন প্রকল্পগুলিতে org.glassfish.jaxb আর্টিক্টস পরিবর্তে ব্যবহার করার কথা।

org.glassfish.jaxb: jaxb- রানটাইম: জার: 2.3.2 টানায়:

[INFO] +- org.glassfish.jaxb:jaxb-runtime:jar:2.3.2:compile
[INFO] |  +- jakarta.xml.bind:jakarta.xml.bind-api:jar:2.3.2:compile
[INFO] |  +- org.glassfish.jaxb:txw2:jar:2.3.2:compile
[INFO] |  +- com.sun.istack:istack-commons-runtime:jar:3.0.8:compile
[INFO] |  +- org.jvnet.staxex:stax-ex:jar:1.8.1:compile
[INFO] |  +- com.sun.xml.fastinfoset:FastInfoset:jar:1.2.16:compile
[INFO] |  \- jakarta.activation:jakarta.activation-api:jar:1.2.1:compile

আসল উত্তর

অনুসরণ করছেন কোন নিদর্শন আমি আমার ম্যাভেন প্রকল্পে JAXB, RI জন্য ব্যবহার করা উচিত? মাভেনে আপনি এই জাতীয় প্রোফাইল ব্যবহার করতে পারেন:

<profile>
    <id>java-9</id>
    <activation>
        <jdk>9</jdk>
    </activation>
    <dependencies>
        <dependency>
            <groupId>org.glassfish.jaxb</groupId>
            <artifactId>jaxb-runtime</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>javax.activation</groupId>
            <artifactId>activation</artifactId>
            <version>1.1.1</version>
        </dependency>
    </dependencies>
</profile> 

নির্ভরতা গাছ দেখায়:

[INFO] +- org.glassfish.jaxb:jaxb-runtime:jar:2.3.0:compile
[INFO] |  +- org.glassfish.jaxb:jaxb-core:jar:2.3.0:compile
[INFO] |  |  +- javax.xml.bind:jaxb-api:jar:2.3.0:compile
[INFO] |  |  +- org.glassfish.jaxb:txw2:jar:2.3.0:compile
[INFO] |  |  \- com.sun.istack:istack-commons-runtime:jar:3.0.5:compile
[INFO] |  +- org.jvnet.staxex:stax-ex:jar:1.7.8:compile
[INFO] |  \- com.sun.xml.fastinfoset:FastInfoset:jar:1.2.13:compile
[INFO] \- javax.activation:activation:jar:1.1.1:compile

এটি Eclipse এ ব্যবহার করতে, অক্সিজেন.3a রিলিজ (4.7.3a) বা তারপরে, Ctrl-Alt-P বা প্রোজেক্ট মাভেন-এ ডান ক্লিক করুন, তারপরে প্রোফাইলটি নির্বাচন করুন।


আমি অন্য কোথাও দেখেছি javax.xml.bind> এর জন্য নির্ভরতা jaxb-apiআসলে অপ্রয়োজনীয় দেখানোর জন্য ধন্যবাদ । গ্লাস ফিশ নির্ভরতা এটি টানছে। আমি এটি চেষ্টা করেছিলাম, এবং এটি সত্যিই কাজ করে।
তুলসী বাউরক

8

জাভা ওয়েব স্টার্ট এক্সিকিউশন এর জন্য আমরা অ্যান্ডি গুবার্টের পরামর্শটি এর মতো ব্যবহার করতে পারি:

<j2se version="1.6+" 
      java-vm-args="-XX:+IgnoreUnrecognizedVMOptions --add-modules=java.se.ee"/>

--Add- মডিউলগুলিতে অতিরিক্ত "=" নোট করুন। দেখুন এই OpenJDK টিকেট অথবা "বুঝতে রানটাইম অ্যাক্সেস সতর্কবাণী" গত নোট জাভা প্ল্যাটফর্ম, মানক সংস্করণে ওরাকল JDK 9 মাইগ্রেশন গাইড


8

pom.xML এ javax.xML.bind নির্ভরতা যুক্ত করুন

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.0</version>
    </dependency>

8

যেহেতু জাভাইই এখন https://jakarta.ee/ দ্বারা পরিচালিত হয় , সুতরাং নতুন মাভেন স্থানাঙ্কগুলি ২.৩.২ হিসাবে রয়েছে:

https://eclipse-ee4j.github.io/jaxb-ri/#maven-artifacts

প্রথম প্রকাশিত jaxb.version 2.3.2 হয়।

<properties>
  <jaxb.version>2.3.2</jaxb.version>
</properties>

<dependency>
  <groupId>jakarta.xml.bind</groupId>
  <artifactId>jakarta.xml.bind-api</artifactId>
  <version>${jaxb.version}</version>
</dependency>
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>${jaxb.version}</version>
</dependency>

7

আমি এই URL টি অনুসরণ করেছি এবং নীচের সেটিংসটি আমাকে সত্যই সহায়তা করেছিল। আমি ম্যাকবুক প্রোতে এসটিএস আইডিই সহ জাভা 10 ব্যবহার করি। ইহা যাদুর মত কাজ করে।

   <dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>2.3.0</version>
    <scope>runtime</scope>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>javax.activation-api</artifactId>
    <version>1.2.0</version>
</dependency>

7

এটি জাভা 12 এ অ্যাপাচি উট 2.24.1.1 চালিত নির্ভরতার সাথে আমার সমস্যার সমাধান করেছে:

    <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
    </dependency>

    <dependency>
        <groupId>javax.xml.bind</groupId>
        <artifactId>jaxb-api</artifactId>
        <version>2.3.1</version>
    </dependency>

    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>2.3.0.1</version>
    </dependency>

    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.3.0.1</version>
    </dependency>

আমার ক্ষেত্রে আমার পোম ফাইলে টমক্যাট নির্ভরতা যুক্ত করতে হবে
GvSharma

6

2.0.5.RELEASEজাভা 11 এ স্প্রিং বুট ব্যবহার করে আমি একই সমস্যার মুখোমুখি হয়েছি ।

javax.xml.bind:jaxb-api:2.3.0একা যুক্ত করা সমস্যার সমাধান করেনি। আমাকেও স্প্রিং বুটটি সর্বশেষতম মাইলস্টোন-তে আপডেট করতে হয়েছিল 2.1.0.M2, তাই আমি ধরে নিলাম এটি পরবর্তী অফিসিয়াল প্রকাশে স্থির হবে।


এটি আমার সাথে সম্পর্কিত বলে মনে হচ্ছে না। এই থ্রেডে বেশ কয়েকটি সমাধান রয়েছে যা স্প্রিং বুট ২ ব্যবহার না করেই কাজ করে ( হতে পারে বসন্তের ২.১.০. এম 2 তে ইতিমধ্যে একটি জ্যাক্সবি রানটাইম অন্তর্ভুক্ত রয়েছে।
সেবাস্তিয়ান থিস

দেখে মনে হচ্ছে স্প্রিং বুট ২.১.০.আরলেস, জ্যাকএক্সবি আর দরকার নেই - github.com/spring-projects/spring-boot/relayss
বুরিচ

5

JDK 9+ ব্যবহার করার সময় আপনাকে JAX-B নির্ভরতা যুক্ত করতে হবে। অ্যান্ড্রয়েড স্টুডিও ব্যবহারকারী, আপনি আপনার এই যোগ করতে হবে build.gradleএর dependencies {}ব্লক:

// Add missing dependencies for JDK 9+
if (JavaVersion.current().ordinal() >= JavaVersion.VERSION_1_9.ordinal()) {
    // If you're using @AutoValue or any libs that requires javax.annotation (like Dagger)
    compileOnly 'com.github.pengrad:jdk9-deps:1.0'
    compileOnly 'javax.annotation:javax.annotation-api:1.3.2'

    // If you're using Kotlin
    kapt "com.sun.xml.bind:jaxb-core:2.3.0.1"
    kapt "javax.xml.bind:jaxb-api:2.3.1"
    kapt "com.sun.xml.bind:jaxb-impl:2.3.2"

    // If you're using Java
    annotationProcessor "com.sun.xml.bind:jaxb-core:2.3.0.1"
    annotationProcessor "javax.xml.bind:jaxb-api:2.3.1"

    testAnnotationProcessor "com.sun.xml.bind:jaxb-core:2.3.0.1"
    testAnnotationProcessor "javax.xml.bind:jaxb-api:2.3.1"
}

যদিও ইউনিট পরীক্ষার জন্য কাজ করে না
মালাচিয়াজ

আমি আপনার উত্তর ইউনিট পরীক্ষার সাথে কাজ করার জন্য পরিবর্তন করেছি।
মালাচিয়াজ

4

আমি ক্লাসনাটফাউন্ডএক্সেপশন জুড়ে স্ট্যাম্পলও করেছি: javax.xML.bind.DatatypeConverter জাভা 11 ব্যবহার করে এবং

<dependency>
    <groupId>io.jsonwebtoken</groupId>
    <artifactId>jjwt</artifactId>
    <version>0.9.1</version>
</dependency>

আমি javax.xML.bind: jaxb-api বা স্প্রিং বুট jakarta.xML.bind-api যোগ করার জন্য এই সমস্ত স্টাফ চেষ্টা করেছি .. আমি jjwt সংস্করণ 0.10.0 এ সংশোধন করার জন্য একটি ইঙ্গিত পেয়েছি .. তবে সবচেয়ে বড় কথা, jjwt প্যাকেজটি হ'ল এখন বিভক্ত!

সুতরাং, এই রেফারেন্সটি দেখুন: https://github.com/jwtk/jjwt/issues/510

সহজভাবে, আপনি যদি ব্যবহার

জাভা ১১ এবং জেজেডব্লিউট 0.9.x এবং আপনি ক্লাসনটফাউন্ডএক্সেপশন: javax.xML.bind.DatatypeConverter ইস্যু,

জন্য যান

jjwt সংস্করণ 0.11.x, তবে বিভক্ত প্যাকেজগুলি ব্যবহার করুন: https://github.com/jwtk/jjwt#install

প্যাকেজগুলি বিভক্ত করার কারণে আপনি জেজেডব্লিউটি নির্ভরতার জন্য কোনও উচ্চ সংস্করণ পাবেন না ven

চিয়ার্স।


3

কোনও উত্তর নয়, তবে একটি সংযোজন: আমি groovyshজেভিএহোম কোনও জাভা 9 ইনস্টলেশন (সঠিকভাবে java version "9.0.1"বলতে গেলে ) ব্যর্থ হলে যদি দৌড়াদৌড়ি (গ্রোভি ২.৪.১৩) পেয়েছি :

java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at org.codehaus.groovy.tools.GroovyStarter.rootLoader(GroovyStarter.java:107)
        at org.codehaus.groovy.tools.GroovyStarter.main(GroovyStarter.java:129)
Caused by: java.lang.NoClassDefFoundError: Unable to load class groovy.xml.jaxb.JaxbGroovyMethods due to missing dependency javax/xml/bind/JAXBContext
        at org.codehaus.groovy.vmplugin.v5.Java5.configureClassNode(Java5.java:400)
        at org.codehaus.groovy.ast.ClassNode.lazyClassInit(ClassNode.java:277)
        at org.codehaus.groovy.ast.ClassNode.getMethods(ClassNode.java:397)
        ...
        ..
        .
        ..
        ...
        at org.codehaus.groovy.tools.shell.Groovysh.<init>(Groovysh.groovy:135)
        at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
        at org.codehaus.groovy.tools.shell.Main.<init>(Main.groovy:66)
        at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod(IndyInterface.java:232)
        at org.codehaus.groovy.tools.shell.Main.main(Main.groovy:163)
... 6 more

সমাধানটি ছিল:

  • Github.ioজ্যাকএক্সবি প্রকল্পে যান ( "জ্যাকএক্সবি দ্বৈত লাইসেন্সের আওতায় লাইসেন্স প্রাপ্ত - সিডিডিএল 1.1 এবং ক্লাস-পাথ ব্যতিক্রম সহ জিপিএল ২.০" )

  • ডাউনলোড jaxb-ri-2.3.0.zip

  • আপনি যেখানেই আপনার জাভা অবকাঠামো ফাইল রাখুন আনজিপ করুন (আমার ক্ষেত্রে, /usr/local/java/jaxb-ri/)। অন্যান্য সমাধানের উপস্থিতি থাকতে পারে (সম্ভবত SDKMAN এর মাধ্যমে, আমি জানি না)

  • নিশ্চিত করুন যে লিব উপ-ডিরেক্টরিতে জারগুলি চলছে CLASSPATH। আমি এটি স্ক্রিপ্টের মাধ্যমে বাশ স্টার্টআপে শুরু করি, যাকে বলা হয় /etc/profile.d/java.sh, যেখানে আমি নিম্নলিখিত লুপটি যুক্ত করেছি (অনেকগুলি লাইনের মধ্যে):

একটি ফাংশন মধ্যে প্যাক ...

function extend_qzminynshg {
   local BASE="/usr/local/java"
   for LIB in jaxb-api.jar  jaxb-core.jar  jaxb-impl.jar  jaxb-jxc.jar  jaxb-xjc.jar; do
      local FQLIB="$BASE/jaxb-ri/lib/$LIB"
      if [[ -f $FQLIB ]]; then
         export CLASSPATH=$FQLIB:$CLASSPATH
      fi
    done
}

extend_qzminynshg; unset extend_qzminynshg

এবং এটি কাজ করে!


1
ডাউনভোটজ আমি বুঝতে পারছি না। স্পষ্টতই লোকেরা আসলে জারগুলি পাওয়ার পরিবর্তে কমান্ড-লাইন বিকল্পগুলির সাথে ত্রুটি করতে চায়? তোমার জন্য ঠিক.
ডেভিড টোনহোফার

7
জাভা বিকাশকারীরা সাধারণত জারগুলি ডাউনলোড করার চেয়ে নির্ভরতাগুলি পরিচালনা করতে গ্রেডল বা মাভেনের মতো বিল্ড সরঞ্জামগুলি ব্যবহার করে tools ডাউন ভোটের সম্ভবত এটিই কারণ।
জোশুয়া ডেভিস


2

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

এই ধরণের সমস্যা হতে পারে এমন কারও জন্য, ডিফল্ট জাভা ব্যবহারের জন্য মাভেনকে কীভাবে ঠিক করবেন তা দেখুন


2

পুরানো উত্তর "অ্যামাজনকোরেটোতে স্যুইচ করে সমস্যার সমাধান হয়েছে" সংবাদ উত্তর: আমি করের্তো সর্বশেষ ব্যবহার করেছি, তবে অনুরূপ জেডিকে 1.8। সুতরাং যাইহোক আমাদের ম্যানুয়ালি নির্ভরতা যুক্ত করতে হবে


2
জেডিকে ১১-এর জন্য অ্যামাজন কর্রেটো বিতরণ javax.xML.bind ক্লাস সরবরাহ করে না। যদি কেরেটোতে স্যুইচ করার পরে সমস্যাটি সমাধান হয়ে যায়, কারণ আপনি জেডিকে ৮ তে ডাউনগ্রেড করেছেন ed
অ্যান্ডি গুইবার্ট

অদ্ভুত, আমি পরীক্ষা করব, আমি ডকরে সর্বশেষ ব্যবহার করেছি
আর্মেন ​​আরজুমায়ানান

হ্যাঁ, amazoncorretto:latestবর্তমানে দেয় JDK 8, না 11. অনেক Docker চিত্রগুলি এখনও JDK 8 এর উপর ভিত্তি করে, অবিকল JDK 8 মধ্যে এপিআই সরানোর দ্বারা ঘটিত কারণ সামঞ্জস্য বিষয় -> 11
অ্যান্ডি Guibert

2

জাভা 8 টার্গেটের জন্য সংকলন করার সময় আমার যে নির্ভরতা সংস্করণগুলি ব্যবহার করা প্রয়োজন জাভা 8, 11, এবং 12 জেআরই-তে পরীক্ষিত অ্যাপ্লিকেশন।

        <!-- replace dependencies that have been removed from JRE's starting with Java v11 -->
        <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.2.8</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-core</artifactId>
            <version>2.2.8-b01</version>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-impl</artifactId>
            <version>2.2.8-b01</version>
        </dependency>
        <!-- end replace dependencies that have been removed from JRE's starting with Java v11 -->

2

জাভা 11 এবং গ্রেডে আমার জন্য এটি কার্যকর হয়েছিল:

plugins {
      id 'java'
}

dependencies {
      runtimeOnly 'javax.xml.bind:jaxb-api:2.3.1'
}

আমরা এটা ঠিক কোথায় রাখি?
nyxee

আপনি যদি গ্রেড ব্যবহার করছেন তবে আপনার বিল্ড.gradle ফাইলে।
রৌপ্য_এমএক্স

1

আপনাকে ম্যাভেনের সাথে জ্যাক্সবি নির্ভরতা যুক্ত করতে হবে। গ্লাস ফিশ বাস্তবায়ন সংস্করণ ২.৩.২ নতুন জাকার্তা ইই জ্যাক্সবি এপিআই সংস্করণ ২.৩.২ এর সাথে পুরোপুরি সামঞ্জস্যপূর্ণ।

<!-- API -->
<dependency>
    <groupId>jakarta.xml.bind</groupId>
    <artifactId>jakarta.xml.bind-api</artifactId>
    <version>2.3.2</version>
</dependency>

<!-- Runtime -->
<dependency>
    <groupId>org.glassfish.jaxb</groupId>
    <artifactId>jaxb-runtime</artifactId>
    <version>2.3.2</version>
</dependency>

1

আমার প্রকল্পটি জাভা ১১-তে উন্নীত করার পরে আমার একই রকম সমস্যা ছিল, তারপরে এটি কীভাবে স্থির করেছিল যে এটি বসন্ত বুট ২.১.১ এ আপগ্রেড করা হয়েছিল যা স্পষ্টতই জাভা ১১-র সমর্থন রয়েছে, এটি সাহায্য করেছিল


দয়া করে আপনার উত্তরে সমাধানের কমপক্ষে অংশটি বিবেচনা করুন কারণ ভবিষ্যতে ইউআরএল পরিবর্তিত হলে কেবলমাত্র লিঙ্ক-উত্তর উত্তরগুলি অবৈধ হয়ে যাবে।
ইউকশিমা হুকসে

0

আমি জানি আমি পার্টিতে দেরি করেছি, তবে আমার ত্রুটিটি শেষ হয়েছে একটি পৃথক সমাধানের প্রয়োজন ... অতি সাধারণও

আমি মূলত টমক্যাট 9 এ স্থানান্তরিত হয়েছি এবং বুঝতে পেরেছিলাম যে আমার 7 টি দরকার ... আমি আমার ক্লাসের পাথটি বিল্ড.এক্সএমএল 7 সংস্করণে ফিরে যেতে ভুলে গেছি

আশা করি এটি ভবিষ্যতে কারও এলিসের ত্রুটিটি সমাধান করবে, যিনি আমার মতো এই সাধারণ সমস্যাটিকে উপেক্ষা করার জন্য পরিচালনা করেন!


2
এই ওপি সাহায্য করতে পারে, তাহলেও এটি অধিক বিবরণের জন্য, উদাহরণ, ইত্যাদি যোগ করার জন্য ভালো
Tiw

0

আপনি যদি এসওএপি ওয়েব পরিষেবাদিগুলিতে কল করেন (উদাহরণস্বরূপ, ব্যবহার করে jaxws-maven-plugin) কেবল এই নির্ভরতা যুক্ত করে সমস্ত জ্যাকএক্সবি ত্রুটি অদৃশ্য হয়ে যায়:

<dependency>
            <groupId>org.glassfish.metro</groupId>
            <artifactId>webservices-rt</artifactId>
            <version>2.4.3</version>
</dependency>

জাভা 13 দিয়ে পরীক্ষা করা হয়েছে

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