ম্যাভেন নিশ্চিত ফায়ার ফোরকড বুটার ক্লাসটি খুঁজে পেল না


217

সম্প্রতি একটি নতুন প্রকল্পে আসছে, আমি আমাদের উত্স কোডটি সংকলনের চেষ্টা করছি। গতকাল সবকিছু ঠিকঠাক কাজ করেছে, তবে আজ অন্য গল্প।

প্রতিবার যখন আমি mvn clean installমডিউলটিতে চলেছি , একবার পরীক্ষায় পৌঁছেছি, তখন এটি একটি ত্রুটির মধ্যে ক্র্যাশ হয়ে গেছে:

[INFO] --- maven-surefire-plugin:2.18.1:test (default-test) @ recorder ---
[INFO] Surefire report directory: /lhome/code/recorder/target/surefire-reports
[INFO] Using configured provider org.apache.maven.surefire.junitcore.JUnitCoreProvider
[INFO] parallel='none', perCoreThreadCount=true, threadCount=0, useUnlimitedThreads=false, threadCountSuites=0,     threadCountClasses=0, threadCountMethods=0, parallelOptimized=true

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Error: Could not find or load main class org.apache.maven.surefire.booter.ForkedBooter

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

এবং পরে:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on project recorder: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?

আমি ওপেনজেডিকে 1.8.0_181, মাভেন 3.5.3.4 এর সাথে ডেবিয়ান 9 (প্রসারিত) 64৪-বিটগুলিতে চালাচ্ছি, আমার কোম্পানির প্রক্সিটির পিছনে কাজ করছি যা আমি আমার কনফিগার করেছি ।~/.m2/settings.xml

একটি আশ্চর্যজনক বিষয় এটি সঠিকভাবে মনে রাখলে সর্বশেষ সুরফায়ার সংস্করণটি 2.22.1। আমি প্লাগইন সংস্করণটি নির্দিষ্ট করার চেষ্টা করেছি, তবে এটি আপডেট হয় না, অন্যথায় কোনও POM- তে কোনও প্লাগইন সংস্করণ নির্দিষ্টকরণ নেই (পিতামাতা, গ্র্যান্ড-প্যারেন্ট বা এটির )।

আমি মাভেনকে শিফারফায়ার সংস্করণটি সর্বশেষে পরিবর্তন করতে বাধ্য করেছিলাম তবে এখন এটি আরও খারাপ:

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[...]

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project recorder:     There are test failures.
[ERROR]
[ERROR] Please refer to /lhome/code/recorder/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd /lhome/code/recorder/ && /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java     '-javaagent:/lhome1/johndoe/.m2/repository/org/jacoco/org.jacoco.agent/0.7.4.201502262128/org.jacoco.agent-0.7.4.201502262128-runt    ime.jar=destfile=/lhome/code/recorder/target/jacoco.exec,append=true,includes=esa/*,excludes=**/api/**/*.class' -jar     /lhome/code/recorder/target/surefire/surefirebooter7426165516226884923.jar /lhome/code/recorder/target/surefire     2018-10-26T16-16-12_829-jvmRun1 surefire1721866559613511529tmp surefire_023400764142672144tmp
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 1
[ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM terminated without properly saying goodbye.     VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd /lhome/code/recorder/ && /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java     '-javaagent:/lhome1/johndoe/.m2/repository/org/jacoco/org.jacoco.agent/0.7.4.201502262128/org.jacoco.agent-0.7.4.201502262128-runt    ime.jar=destfile=/lhome/code/recorder/target/jacoco.exec,append=true,includes=esa/*,excludes=**/api/**/*.class' -jar     /lhome/code/recorder/target/surefire/surefirebooter7426165516226884923.jar /lhome/code/recorder/target/surefire     2018-10-26T16-16-12_829-jvmRun1 surefire1721866559613511529tmp surefire_023400764142672144tmp
[ERROR] Error occurred in starting fork, check output in log
[ERROR] Process Exit Code: 1
[ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:669)
[ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:282)
[ERROR]     at org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:245)
[ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1183)
[ERROR]     at     org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:1011)
[ERROR]     at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:857)
[ERROR]     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:154)
[ERROR]     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:146)
[ERROR]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
[ERROR]     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
[ERROR]     at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
[ERROR]     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
[ERROR]     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
[ERROR]     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
[ERROR]     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
[ERROR]     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:954)
[ERROR]     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
[ERROR]     at org.apache.maven.cli.MavenCli.main(MavenCli.java:192)
[ERROR]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[ERROR]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR]     at java.lang.reflect.Method.invoke(Method.java:498)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
[ERROR]     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

1
আমি এই বাগটি চেনাশোনা-সিআই-তে রাখছি। শিয়ারফায়ার কাঁটাচামচ এবং কাঁটাযুক্ত ভিএম নিম্নলিখিত বার্তাটি প্রিন্ট করে এবং প্রস্থান করে: "ত্রুটি: প্রধান শ্রেণীর org.apache.maven.surefire.booter. ForkedBooter খুঁজে বা লোড করা যায়নি"। ম্যাসেজ লক্ষ্য / নিশ্চিতফায়ার-রিপোর্ট / *। ডাম্প স্ট্রিমে রয়েছে। যদি আপনি -X দিয়ে মাভেন চালান এটি কমান্ড লাইনটি প্রিন্ট করে, আপনি এটি চেষ্টা করে দেখতে পারেন এবং ভিএম এই বার্তাটি প্রিন্ট করছে।
ব্রুনো কৌতিনহো


আমার সমাধানটি হ'ল যে কোনও সংস্করণের ওপেন-জেডিএস ব্যবহার বন্ধ করা। এত ভিত্তিগত কিছুতে এই ধরণের অবিশ্বাস্যতা বহন করতে পারে না।
অ্যাড্রিয়ান এম।

dependencyManagementপ্লাগিনগুলির বিভিন্ন সংস্করণ নির্দিষ্ট করতে
মাভেনের

দেবিয়ানে জেডিকে ১১-এ আপডেট করা আমার পক্ষে একটি নিশ্চিত অগ্নিকান্ডের সমাধান!
পরিষ্কার

উত্তর:


251

এটি ঠিক করতে (2018 এ) আপনার ওপেনডেডকে সর্বশেষতম সংস্করণে আপডেট করুন, কমপক্ষে 8u191-b12। যদি এই সমস্যাটি ২০২০ সালে পুনরায় দেখা যায়, তবে সম্ভবত ओपनজেডকের ডিফল্ট আচরণটি পরিবর্তিত হয়েছিল এবং এরপরে আপনাকে ম্যাভেন শিফারফায়ার প্লাগইন আপডেট করতে হবে।

এটি ওপেনজেডক -8 প্যাকেজে এখন একটি স্থির ত্রুটি ছিল (কোনও প্রয়োজন ছাড়াই প্রবাহটি উল্লেখযোগ্যভাবে প্রবাহিত হয়; সুরক্ষা চেকটি অক্ষম করতে ফিরিয়ে ফেলার জন্য প্রবাহের প্যাচটি অনুপস্থিত) যেটি আপনি স্রেফ আপগ্রেড করেছেন। কিন্তু এটা হয় একটি surefire প্লাগইন, surefire-1588 সালে বাগ , কল্পনানুসারে surefire সংশোধন 3.0.0-এম 1 : এটা দৃশ্যত একটি জায়গা যেখানে জাভা ভবিষ্যতে শুধুমাত্র আপেক্ষিক পাথ নাম (এবং ডেবিয়ান সক্রিয় অনুমতি দেবে নিরঙ্কুশ পাথ ব্যবহার করছে ভবিষ্যতের আচরণ ইতিমধ্যে)।

8u181-b13-2 প্যাকেজ সংস্করণে বলা হয়েছে:

  • 8u191-b12 সুরক্ষা আপডেট থেকে প্যাচগুলি প্রয়োগ করুন।

দ্রষ্টব্য যে 191-বি 12! = 181-বি 13। 191-বি 12 সুরক্ষা প্যাচগুলি কিছুদিন আগেই বেরিয়েছিল এবং স্পষ্টতই রক্ষণাবেক্ষণকারীরা সেগুলি আপনার কাছে দ্রুত পেতে চেয়েছিল। সম্পূর্ণরূপে 191-b12 এ আপডেট করার জন্য অতিরিক্ত পরীক্ষার প্রয়োজন হবে (ভাল, সুতরাং আপলোডটি অবশ্যই হওয়া উচিত)।

বেশ কয়েকটি ওয়ার্কাউন্ডস ছিল:

  1. পরিবর্তে আপনি পূর্বের প্যাকেজটি স্ন্যাপশট.ডো থেকে ইনস্টল করতে পারেন । ডাউনগ্রেড করার পরে, আপনি ভাঙা সংস্করণটি (যদি আপনি প্রবণতা ব্যবহার করছেন এবং না apt) ব্যবহার করতে নিষেধ করতে পারেন sudo aptitude forbid-version openjdk-8-jre-headless। নিয়মিত "আপ্ট" এর জন্য আমি অনুরূপ নিষেধাজ্ঞার ব্যবস্থাটি দেখতে পাইনি, সুতরাং এই আপগ্রেডটিকে পুনরায় ইনস্টল করা থেকে রোধ করতে আপনার যথাযথ পিনিং ব্যবহার করতে হবে (অথবা আপনি কেবল আবার ডাউনগ্রেজিং অব্যাহত রাখবেন, আমি আশা করি শীঘ্রই এর সমাধান হয়ে যাবে)।
  2. বাগ ট্র্যাকিং অনুসারে, -Djdk.net.URLClassPath.disableClassPathURLCheck=trueসাধারণ যে কোনও পদ্ধতিতে (যেমন, JAVA_FLAGS) সম্পত্তি নির্ধারণের ক্ষেত্রেও সহায়তা করা উচিত। তবে আমি নিজে এটি যাচাই করি নি। আপনার সমস্ত মাভেন বিল্ডগুলি সহজেই সক্ষম করে তুলতে আপনি~/.m2/settings.xml দৃশ্যত পরিশ্রমটি যোগ করতে পারেন।

আপনি দেখতে পাচ্ছেন, বাগ ট্র্যাকিংয়ের কাজ করে , সমস্যাটি সঙ্কুচিত করা হয়েছিল, এবং একটি নির্দিষ্ট প্যাকেজ পাওয়া যায় এবং শিগগিরই প্লাগইনের একটি নতুন সংস্করণ শীঘ্রই আসবে!


@ অ্যাড্রিয়ানমাদারস আমি এখন পর্যন্ত একটি নতুন আপডেট পাইনি, কেবল -2 সংস্করণ। এখনও একটি স্থির আপলোডের ঘোষণা দেওয়া হয়নি, তবে এটি চলছে। আপনি সম্ভবত জানা সমস্যাযুক্ত সংস্করণে পুনরায় আপগ্রেড করেছেন।
এরিচ শুবার্ট

1
আমি ওপেনজেডিকে 10.0.2 ব্যবহার করে কেবল উবুন্টু 18.04 এ একই সমস্যা পেয়েছি। আমার 'জাভা -9-ওরাকল' ইনস্টলটিতে জাভাএহোমকে স্যুইচ করা এটি ঠিক করে দিয়েছে।
রবউউ 31:38

2
নিশ্চিত ফায়ার -ম্যাভেন-প্লাগইন ইস্যু ট্র্যাকারে সম্পর্কিত সমস্যাটি এখানে রয়েছে: ইস্যু.পাছে.আর.জিরা / ব্রাউজ / সুরিফায়ার-1588 (এটি এখনও সম্পর্কিত ওপেনজেডিকে পরিবর্তনের ক্যানোনিকাল / ডেবিয়ান ব্যাকপোর্টে একটি বাগ) in
মিরাবিলোস

1
প্রায় 1 টি কাজ করুন to বিষয়টি আমার কাছে বোঝা যায় না কারণ আমি যে সংস্করণটি নিয়ে সমস্যার মুখোমুখি হয়েছি। সিস্টেমক্লাসলডার ব্যবহার না করার জন্য মাভেন-শিফারফায়ার-প্লাগইনটি ওভাররাইড করাও কাজ করেনি
এডউইন ডিয়াজ-মেন্ডেজ

1
আপনিও শিফারফায়ার 3.0.0-M1 এ আপগ্রেড করার চেষ্টা করতে পারেন। তবে 2 থেকে 3 মাইলস্টোন সংস্করণ অবশ্যই অন্যান্য জিনিসগুলি ভেঙে ফেলতে পারে।
এরিচ শুবার্ট

54

ব্যবহার সিস্টেমে ক্লাসলোডারকে মিথ্যা হিসাবে সেট করুন:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <configuration>
        <useSystemClassLoader>false</useSystemClassLoader>
    </configuration>
</plugin>

আপনি যদি কোনও পিতামাতার কাছ থেকে উত্তরাধিকারসূত্রে না থেকে থাকেন যা আপনার জন্য সংস্করণ সংজ্ঞায়িত করেছে (যেমন স্প্রিং বুট স্টার্টার) আপনার এটিও সংজ্ঞায়িত করতে হবে।


আপনি প্লাগইন প্রক্রিয়াতে পরীক্ষা চালিয়ে যাচ্ছেন বলে সিস্টেম ক্লাসলোডার সক্ষম করা সবচেয়ে খারাপ অভ্যাস। সঠিক অনুশীলনটি হ'ল প্রতিটি প্লাগইনের সংস্করণ আপগ্রেড করা। ম্যাভেন ৩..0.০ ডিফল্ট জীবনচক্রের সাথে সম্পর্কিত সমস্ত প্লাগইনের সংস্করণগুলি আপগ্রেড করবে। বসন্তটি পুরানো সংস্করণগুলিতে লেগে থাকা উচিত নয় এবং সেগুলিও ওভাররাইড করা উচিত নয়। এটি দায়বদ্ধতায় অহেতুক দ্বন্দ্ব সৃষ্টি করে।
tibor17

52

আমি এইmaven-surefire-plugin কার্যকারিতাটি খুঁজে পেয়েছি এবং আমার পরীক্ষাগুলি ঠিক করেছি: সিস্টেমের ক্লাসলোডারটি ব্যবহার না করার জন্য কনফিগার করুন ।


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

ভাল সন্ধান। তবে দয়া করে আপনার পোস্টে প্রকৃত কাজের কাঠামো অন্তর্ভুক্ত করুন, বা কমপক্ষে লিঙ্কটিকে স্ট্যাকওভারফ্লো লিঙ্ক হিসাবে পরিষ্কারভাবে সনাক্ত করুন। অর্থাত @ মার্কুর দ্বারা ব্যবহৃত পদ্ধতিটি আরও সহায়ক।
nealmcb

38

আমার আর একটা কাজ আছে পরিবেশের পরিবর্তনশীল _ জেএভিএ_ওপিটিশন সেট করুন। আমি এটি আমাদের টিমসিটি বিল্ড এজেন্টদের জন্য ব্যবহার করেছি এবং এখন আমাদের বিল্ডগুলি ভাল চলছে।

_JAVA_OPTIONS=-Djdk.net.URLClassPath.disableClassPathURLCheck=true

সুরক্ষা স্থির হিসাবে চিহ্নিত একটি ব্রেকিং পরিবর্তনটি সাধারণত অকারণে প্রবর্তিত হয় না এবং যাতে কেউ এসওকে কীভাবে এটি নিষ্ক্রিয় করতে হয় তা জানান ... শুধু বলুন '
বেরেজভস্কিই

26

আমি জেআইআরএ- র উপরের কাজের একটির চেয়ে বেশি টার্গেটযুক্ত বৈকল্পিক পোস্ট করেছি । এতে যুক্ত করুন ~/.m2/settings.xml:

<profile>
    <id>SUREFIRE-1588</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <argLine>-Djdk.net.URLClassPath.disableClassPathURLCheck=true</argLine>
    </properties>
</profile>

এটি নিম্নলিখিত সতর্কতার সাথে ব্যর্থ:[WARNING] Expected root element 'settings' but found 'profile' (position: START_TAG seen <profile>... @1:9) @ /home/nikolai/.m2/settings.xml, line 1, column 9
নিকোলাই

3
@ নিকোলাই উপরের স্নিপেটটি আবদ্ধ হওয়া দরকার <settings><profiles>...</profiles></settings>
কিউএক্সএক্স

13

আমার এই সমস্যাটি আমার গিটল্যাব সিআই বিল্ডে ছিল যা maven:3.5.4-jdk-8ডকার চিত্র ব্যবহার করছিল ।

maven:3.5.4-jdk-8-alpineসমস্যাটি স্থির করে এটি পরিবর্তন করা ।


8

আমি এই লিঙ্কটি https://maven.apache.org/surefire/maven-surefire-plugin/example/class-loading.html অনুসরণ করেছি এবং নীচের প্লাগইনটি pom.xml এ যুক্ত করেছি এবং এটি কাজ করেছে,

<project>
  [...]
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.1</version>
        <configuration>
          <useSystemClassLoader>false</useSystemClassLoader>
        </configuration>
      </plugin>
    </plugins>
  </build>
  [...]
</project>

8

3.6.0-jdk-8চিত্র সহ গিটল্যাব সিআই / সিডি ব্যবহার করার সময় কেবল নীচের সম্পত্তিটিকে সহায়তা করা (কোনও পরিবর্তন না করে pom.xml)।

-Dsurefire.useSystemClassLoader=false

এটি আবার খারাপ অভ্যাস। ডানটি হ'ল সংস্করণটি আপগ্রেড করা। সর্বদা ম্যাভেন সেন্ট্রালে সংস্করণগুলি পরীক্ষা করুন ।
tibor17

5

গিটল্যাব সিআই-তে ডকার মাভেন: 3.5.x-jdk-8 সম্পর্কিত উত্তরগুলির সন্ধানকারীদের জন্য, এই গিটিহব সমস্যাটি দেখুন

এটি প্রদর্শিত হচ্ছে যে কোনও 3.5.4-jdk-8চিত্রের ফলে একটি সামান্য জাভা সংস্করণে আপগ্রেড হয়েছে যা কোনওভাবে সুরফায়ারের কাঁটাচামচ প্রক্রিয়াটিকে প্রভাবিত করে।

3.5.3-jdk-8চিত্রটিতে ফিরে রোলিংটি আমার গিটল্যাব সিআই সার্ভারে জাভা 1.8 কোডটি শিফারফায়ার 2.20.1 সহ বিল্ডিংয়ের জন্য আমার জন্য ঠিক করেছে।


5

"-Djdk.net.URLClassPath.disableClassPathURLCheck = true" সম্পত্তিটি সেট করার জন্য উপরের পরামর্শটি আমার পক্ষে কাজ করে না, তবে নীচের সেটটি ঠিকঠাক কাজ করে:

-DforkCount=0

2
এটি পরীক্ষা চালানোর জন্য একটি নতুন ভিএম তৈরি না করার প্রভাব ফেলেছে, সুতরাং পরীক্ষাগুলি সম্ভবত প্রধান বিল্ড ভিএমকে প্রভাবিত করতে পারে।
পাওলো ইবারম্যান

4

উবুন্টুর জন্য: সর্বশেষতম সংস্করণ ইনস্টল করুন, এতে এই বাগটি ঠিক করা হয়েছে

sudo apt-get update ; sudo apt-get dist-upgrade -y

ত্রুটি না করে সর্বশেষ ওয়ার্কিং সংস্করণটি (সুরক্ষা প্যাচ ছাড়াই) ইনস্টল করুন।

sudo apt-get install openjdk-8-jdk-headless=8u181-b13-1 openjdk-8-jdk=8u181-b13-1  openjdk-8-jre=8u181-b13-1  openjdk-8-jre-headless=8u181-b13-1 openjdk-8-source=8u181-b13-1

আপনি যদি সেই সংস্করণটি মিস করেন তবে তার আগে সংস্করণটি ব্যবহার করুন:

sudo apt-get install openjdk-8-jdk-headless=8u162-b12-1 openjdk-8-jdk=8u162-b12-1  openjdk-8-jre=8u162-b12-1  openjdk-8-jre-headless=8u162-b12-1 openjdk-8-source=8u162-b12-1

তারপরে হয় পিনিং ব্যবহার করুন বা দেখুন যে আপনি ভাঙা সংস্করণটি ইনস্টল করবেন না।

-Djdk.net.URLClassPath.disableClassPathURLCheck=trueযেখানেই আমি এই কনফিগারেশনটি রেখেছি সেখানে ব্যবহার আমার পক্ষে কাজ করে না। আমার সংহতকরণ-পরীক্ষাগুলিতে কোথাও এটি পুরানো জাভা সংস্করণ ছাড়াই সর্বদা উপস্থিত ছিল।

উল্লেখ হিসাবে এরিক এটা ডেবিয়ান প্যাকেজ খুব কঠোর হচ্ছে একটি বাগ 911925 এবং নতুন নিয়ম অনুযায়ী আর অভিনয় করবেন surefire-plugin surefire-1588


কেন কেউ সুরক্ষা প্যাচ ছাড়া সংস্করণ ইনস্টল করার পরামর্শ দিবে ?! যদিও অন্যান্য পরামর্শগুলির মধ্যে স্কিপিং টেস্টগুলি অন্তর্ভুক্ত রয়েছে hu
বেরেজভস্কিই

1
আপনার আর দরকার নেই :-) এটি স্থির। তবে এরই মধ্যে আমার কাছে অনেক জাভা প্রকল্প ছিল যা আমাকে কাজ করতে হয়েছিল এবং আমার জাভা রানটাইম কোথাও বাইরে থেকে কোনও নতুন কোডের সংস্পর্শে আসে নি। সুতরাং একটি তদারকি-সক্ষম ঝুঁকি ছিল আমার জন্য ঠিক ছিল। সবার পরে এটি সবার নিজস্ব সিদ্ধান্ত :-)
ফ্ল্যাব

প্রকৃতপক্ষে আপনি ঠিক বলেছেন, আমি দেখতে পেয়েছি যে ডিএসএফ সেটটি জে ডি কে ডিফল্টরূপে ফিরে গেছে: hg.openjdk.java.net/jdk/jdk/rev/f54dcfc5a5f8 ; তবে নিশ্চিত সংস্করণে বড় সংস্করণ আপগ্রেড করা আমার পক্ষে সেরা ফিক্সের মতো মনে হয় না।
berezovskyi

1
কাফনের কাপড়! তবে তাদের যে পরিবর্তনগুলি করতে হয়েছিল তা পুরো কোডবেজ জুড়ে এবং খুব আক্রমণাত্মক। সুতরাং এই ফিক্সটির জন্য একটি সামান্য সংস্করণ পরিবর্তন নিশ্চিতফায়ারে কোনও বিকল্প হবে না।
23

1
এবং দুর্ভাগ্যবশত, 2.x বিরত এবং আমরা একটি সুইচ পরে থেকে এখন করতে থাকবে না: issues.apache.org/jira/browse/...
berezovskyi

2

আমি জুনিট-বৃহস্পতি ইঞ্জিনের উপর নির্ভরতা যুক্ত করেছি এবং এটি কার্যকর হয়েছে।

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.22.1</version>
    <dependencies>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.4.0</version>
        </dependency>
    </dependencies>
</plugin>

এই বৃহস্পতি-প্লাগইন কী কালো যাদু করে? এটি আমার পক্ষে কাজ করেছিল! ভোট দিন! :-)
হিন্টোরি

1

আমি সম্প্রতি জেনকিনসে মেভেন জব সেটআপ করেছি এবং একই সমস্যায় জড়িয়ে পড়েছি। আমি JAVA env ভেরিয়েবলটি সংশোধন করার এবং সমস্যার সমাধানের বিষয়টি নিশ্চিত করার পরামর্শটি নিয়েছি। এইভাবেই আমি পরীক্ষা করলাম।

"জেনকিনস" ব্যবহারকারী হয়ে ওঠেন এবং কাজের জন্য আপনার সেটআপ করা ওয়ার্কস্পেস প্রকল্পের নামে ফোল্ডারটি পরিবর্তন করুন।

 $ _JAVA_OPTIONS=-Djdk.net.URLClassPath.disableClassPathURLCheck=true mvn clean install -U

 $ lsb_release -rd
 Description:   Ubuntu 16.04.5 LTS
 Release:   16.04

 $ mvn -v
 Apache Maven 3.3.9
 Maven home: /usr/share/maven
 Java version: 1.8.0_181, vendor: Oracle Corporation
 Java home: /usr/lib/jvm/java-8-openjdk-amd64/jre
 Default locale: en_US, platform encoding: UTF-8
 OS name: "linux", version: "4.4.0-131-generic", arch: "amd64", family: "unix"

1

এইটিকে ম্যাভেন-শিফারফায়ার-প্লাগইনে যুক্ত করা আমি সমস্যার সমাধান করেছি:

    <plugin>    
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-surefire-plugin</artifactId>  
        <configuration>
            <forkCount>0</forkCount>
        </configuration>
    </plugin>

1

মূলত জেডিকে সংস্করণ এবং মাভেন-ফায়ারফায়ার প্লাগইন সংস্করণের মধ্যে একটি অসঙ্গতি রয়েছে, আমার ক্ষেত্রে, জেডিকে ১১.০.৫ নিশ্চিত ফায়ারফায়ার 3.0.০.০-এম 4 নিয়ে কাজ করে না, আমাকে 3.0.0-এম 3 এ যেতে হয়েছিল এবং এটি কাজ করেছিল। ফোরকাউন্টকে 0 এ সেট করার ফলে সমস্যাটি স্থির হয় না কারণ এটি জ্যাকো প্রতিবেদনটি ভঙ্গ করে।


0

সংগ্রহস্থলগুলিতে আসা জেডিকে আমি আনইনস্টল করেছি:

$ sudo apt purge openjdk-8-jdk

$ sudo apt autoremove

তারপরে আমি JAVA_HOMEপরিবেশের পরিবর্তনশীল মুছলাম। আমার .bashrc এ আমার সেট করা হয়েছিল।

তারপরে আমি এটিকে SDKMAN এর মাধ্যমে পুনরায় ইনস্টল করেছি:

$ sdk install java 8.0.181-zulu

তাদের সাইট থেকে :

SDKMAN! বেশিরভাগ ইউনিক্স ভিত্তিক সিস্টেমে একাধিক সফটওয়্যার ডেভলপমেন্ট কিটের সমান্তরাল সংস্করণ পরিচালনার জন্য একটি সরঞ্জাম। এটি প্রার্থীদের ইনস্টল, স্যুইচিং, অপসারণ এবং তালিকাভুক্ত করার জন্য একটি সুবিধাজনক কমান্ড লাইন ইন্টারফেস (সিএলআই) এবং এপিআই সরবরাহ করে।

JDK এর অন্যান্য সংস্করণ ইনস্টল করতে দেখতে, ব্যবহার করুন:

$ sdk list java

0

আমি gitlab CI সঙ্গে একই সমস্যা সম্মুখীন ছিল, থেকে ম্যাভেন ইমেজ পরিবর্তন maven:3-jdk-8করতে maven:3.6.0-jdk-8-alpineসমস্যা সমাধানের বলে মনে হয়। বিটিডব্লিউ আমিও পরীক্ষা করেছিলাম maven:3.6.0-jdk-8কিন্তু এটি কোনও কাজ করে না।


0

এটা এখনও একটি সমস্যা surefire - v2.22.2দিয়ে maven:3.6-jdk-8-alpine। সমস্যা সমাধানের জন্য, নীচের pom.xmlকোডটিতে (ম্যাগন প্লাগইন হিসাবে) যুক্ত করুন

...
<plugin>    
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId>  
    <configuration>
        <forkCount>0</forkCount>
    </configuration>
</plugin>
...

-1

আমার মতো যদি আপনার পাইপলাইনে সমস্যা থাকে (আমার জন্য এটি গিটল্যাব, তবে যাই হোক না কেন) এবং যদি আপনি কোনও ম্যাভেন জেডিকে 8 ডকার চিত্র ব্যবহার করছেন।

আপনি প্রতিস্থাপন করতে পারেন

image: maven:3.5.4-jdk-8

শেষ ওয়ার্কিং বিল্ড দ্বারা

image: maven@sha256:b37da91062d450f3c11c619187f0207bbb497fc89d265a46bbc6dc5f17c02a2b

1
ডেবিয়ানদের জন্য সমস্যাটি সর্বশেষতম জেডি কে 8 থেকে আসে, আমার মতে মূল সমস্যাটিকে ঘিরে চেষ্টা করার চেয়ে এটি "সমাধান" করা ভাল।
সিলর্ডিস

Sha256 কৌতুকপূর্ণ এবং ভয় পাচ্ছে? প্রকৃতপক্ষে অন্য উত্তরগুলি প্রায় কোনও কাজের মতো দেখায়, নিশ্চিত ফায়ার থেকে কিছু বৈশিষ্ট্যটি অক্ষম করে দেয়, এখানে আপনার ওয়ার্কিং পম বা পাইপলাইন পরিবর্তন না করে প্রায় শেষ কাজ করা ডকার ইমেজটি ব্যবহার করা হবে যা প্রায় কাজ।
আমদেব
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.