相关文章推荐
含蓄的充值卡  ·  Js正则Replace方法 - ...·  1 年前    · 
谦虚好学的刺猬  ·  curl - 简书·  1 年前    · 
Collectives™ on Stack Overflow

Find centralized, trusted content and collaborate around the technologies you use most.

Learn more about Collectives

Teams

Q&A for work

Connect and share knowledge within a single location that is structured and easy to search.

Learn more about Teams

How to avoid "Sharing is only supported for boot loader classes because bootstrap classpath has been appended" warning during debug with Java 11?

Ask Question

OpenJDK 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended

Found only this commit and ticket , but it doesn't tell me much.

Do I need to worry about it?

You are trying to use -Xbootclasspath/a and CDS (or AppCDS) at the same time. Can you run with -Xshare:off to disable CDS? Alan Bateman Jan 15, 2019 at 21:05 Just a guess(since I saw something similar), you're using an IDE that's doing what Alan pointed out without you even being aware of it? Is that IntelliJ? Naman Jan 16, 2019 at 4:11 This happened to me right after I switched to java 12, I did run with -Xshare:off and it worked fine too but What exactly this does, Could it be preventing something that I will need in future or anything bad might happen? zarez May 27, 2019 at 0:39

I had this issue too after installing jdk-12.0.1_windows-x64_bin.zip when trying to use the debugger with IntelliJ IDEA. I was getting an error of ( Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended ). I found, too, going into Setting and search for async and unchecking the Instrumenting agent box. Worked for me! Before you turn this off, read about the Async Stack Traces feature to see if it might not be useful for you: jetbrains.com/help/idea/async-stacktraces.html Samuel Sep 4, 2019 at 9:06 In a nutshell: When a parent thread starts a child thread or process (certain 'capture points'), a thread dump is made. When you break in the child thread, part of it's stack trace will be from the parent thread. Mark Jeronimus Apr 28, 2020 at 13:22

You can ignore this warning. It just means that class data sharing is disabled for classes not loaded by the bootstrap class loader.

From Improve Launch Times […] With Application Class-Data Sharing :

The JVM loads some of the JDK classes with the bootstrap class loader and the rest with the system class loader, but includes all of them in its default archive. When IntelliJ executes your project, it tells the JVM to load some code with the bootstrap class loader by appending to that class path (second part of the message). Now, that means that the portion of the archive that contains classes loaded by the system class loader is potentially invalidated and so the JVM partially deactivates sharing (first part of the message).

You could disable class data sharing completely with -Xshare:off , but you would lose some performance.

I get this warning when instrumenting my code with Azure Monitor Application Insights , ie. when adding -javaagent:path/to/applicationinsights-agent-3.0.3.jar to my application's JVM args. Adding -Xshare:off gets rid of the warning (changing IntelliJ settings does NOT). Thanks! ax. Apr 20, 2021 at 22:16 Using Gradle, the CLI still produced them. Adding org.gradle.jvmargs=-Xshare:off to gradle.properties resolved most of them. However, I also had to modify the test tasks by adding test { jvmArgs "-Xshare:off"; /* ... */ } to the tests (Junit 5) in order to remove them entirely from the command line. User51 Oct 20, 2022 at 14:40

For me, the issue occurred only when I ran in Docker, and when I used a java command line agent like the DataDog APM agent ( -javaagent:/dd-java-agent.jar ). When I ran in my JDK11 runtime environment (without the agent) I did not get the warnings.

I know this is years later, but if you download a newer version of the dd-java-agent jar this error goes away Chris M Nov 16, 2022 at 17:18

Given this warning in IntelliJ is harmless (see https://stackoverflow.com/a/57957031/779173 ) you could just hide the line from your Console view by right-clicking on the line and selecting "Fold Lines Like This"

Having done this, you'll just see:

"C:\Program Files\Java\jdk-17.0.2\bin\java.exe" ... <1 internal line>

1.Open the Preferences option;

2.Find the Build,Execution,Deployment option;

3.Enter the Debugger --> Async Stack Traces ;

4.Uncheck the Instrumenting agent(requires debugger restart) ;

Please see this for detailed information.

For my case I am using Java 11 but was accidentally on jdk14, so this helped! To change: File -> Project Structure -> Project SDK – leiflundberg Sep 29, 2021 at 9:08

Got same problem, and tried to solve it as was written above.

But then i got another solution of problem without changing settings.

Press mouse right button on your file where you put break point and want to debug. Then choose "Debug ur file name.method()".

Don't use debug button from tools window. Seems the problem is that Idea can't understand which file u want to debug.

That worked for me without changing async settings.

Screenshot

WT*? You mean breakpoints? Your shouldn't have errors from not adding breakpoints (or in your lingo "red dots"). If breakpoints do affect it, that is a sign that the debugger is what is having trouble connecting. I am guessing that many of the people here are Windows users who have Hyper-V or VirtualBox installed on their machine, because I never got this error until I turned the Hyper-V feature on in Win10. And another example of "If it isn't Linux, its not only broken, but it tracks you.". – JΛYDΞV Oct 15, 2021 at 7:23