Skip to content

Exception opening a Spring Initializr project template #8054

@kz282

Description

@kz282

Apache NetBeans version

Apache NetBeans 24 release candidate

What happened

I have created a Spring Boot project on Spring Initializr and opened it both with Netbeans 22 and 24.
Syntax highlight works, syntax check, autocomplete, class import suggestion and some of other features don't.
I can run maven "spring-boot:run" from the goals and it starts the application.

The issue:
When I open a class file from the project I experience issues with lots of Netbeans functionality. Syntax highlight works, syntax check, autocomplete, class import suggestion and some of other features don't. I get the following exception:

java.lang.IllegalArgumentException: version can neither be null, empty nor blank
	at org.apache.maven.artifact.ArtifactUtils.notBlank(ArtifactUtils.java:95)
	at org.apache.maven.artifact.ArtifactUtils.toSnapshotVersion(ArtifactUtils.java:53)
	at org.apache.maven.artifact.DefaultArtifact.setBaseVersionInternal(DefaultArtifact.java:354)
	at org.apache.maven.artifact.DefaultArtifact.selectVersion(DefaultArtifact.java:443)
	at org.apache.maven.artifact.DefaultArtifact.selectVersionFromNewRangeIfAvailable(DefaultArtifact.java:434)
	at org.apache.maven.artifact.DefaultArtifact.<init>(DefaultArtifact.java:126)
	at org.apache.maven.artifact.DefaultArtifact.<init>(DefaultArtifact.java:88)
	at org.netbeans.modules.maven.api.PluginPropertyUtils.getPluginPathProperty(PluginPropertyUtils.java:839)
	at org.netbeans.modules.maven.classpath.AnnotationProcClassPathImpl.getCompileArtifacts(AnnotationProcClassPathImpl.java:91)
	at org.netbeans.modules.maven.classpath.AnnotationProcClassPathImpl.createPath(AnnotationProcClassPathImpl.java:66)
	at org.netbeans.modules.maven.classpath.AbstractProjectClassPathImpl.getPath(AbstractProjectClassPathImpl.java:153)
	at org.netbeans.modules.maven.classpath.AbstractProjectClassPathImpl.getResources(AbstractProjectClassPathImpl.java:144)
	at org.netbeans.api.java.classpath.ClassPath.entries(ClassPath.java:363)
	at org.netbeans.modules.maven.classpath.ClassPathProviderImpl$AnnotationPathSelector.getActiveClassPath(ClassPathProviderImpl.java:685)
	at org.netbeans.spi.java.classpath.support.MuxClassPathImplementation.getActiveClassPath(MuxClassPathImplementation.java:156)
	at org.netbeans.spi.java.classpath.support.MuxClassPathImplementation.getResources(MuxClassPathImplementation.java:89)
	at org.netbeans.api.java.classpath.ClassPath.entries(ClassPath.java:363)
	at org.netbeans.api.java.classpath.ClassPath.getRoots(ClassPath.java:248)
	at org.netbeans.modules.java.source.indexing.APTUtils.listenOnProcessorPath(APTUtils.java:343)
	at org.netbeans.modules.java.source.indexing.APTUtils.listen(APTUtils.java:329)
	at org.netbeans.modules.java.source.indexing.APTUtils.create(APTUtils.java:234)
	at org.netbeans.modules.java.source.indexing.APTUtils.get(APTUtils.java:165)
	at org.netbeans.modules.java.source.parsing.JavacParser.createJavacTask(JavacParser.java:897)
	at org.netbeans.modules.java.source.parsing.CompilationInfoImpl.getJavacTask(CompilationInfoImpl.java:460)
	at org.netbeans.modules.java.source.parsing.CompilationInfoImpl.getJavacTask(CompilationInfoImpl.java:438)
	at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:531)
	at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:140)
	at org.netbeans.modules.parsing.impl.TaskProcessor.callGetResult(TaskProcessor.java:608)
	at org.netbeans.modules.parsing.impl.SourceCache.getResult(SourceCache.java:241)
	at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.run(TaskProcessor.java:775)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:288)
	at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.execute(TaskProcessor.java:702)
[catch] at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:663)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1403)
	at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2018)

Language / Project Type / NetBeans Component

Java Maven Web application project from Spring Initializr sources

How to reproduce

Please create a Spring Boot project on Spring Initializr with the following settings:
Project: Maven
Language: Java
Spring Boot: 3.3.6
Packaging: War
Java: 17
Add a single dependency for Proof of Error: Lombok.

Download the project and open it either in Netbeans 22 or 24.

Did this work correctly in an earlier version?

No / Don't know

Operating System

Windows 11

JDK

Oracle JDK 17.0.11+7-LTS-207

Apache NetBeans packaging

Apache NetBeans provided installer

Anything else

The issue is 100% reproducible every time I open a source file from the downloaded project template.

java.lang.IllegalArgumentException: version can neither be null, empty nor blank
	at org.apache.maven.artifact.ArtifactUtils.notBlank(ArtifactUtils.java:95)
	at org.apache.maven.artifact.ArtifactUtils.toSnapshotVersion(ArtifactUtils.java:53)
	at org.apache.maven.artifact.DefaultArtifact.setBaseVersionInternal(DefaultArtifact.java:354)
	at org.apache.maven.artifact.DefaultArtifact.selectVersion(DefaultArtifact.java:443)
	at org.apache.maven.artifact.DefaultArtifact.selectVersionFromNewRangeIfAvailable(DefaultArtifact.java:434)
	at org.apache.maven.artifact.DefaultArtifact.<init>(DefaultArtifact.java:126)
	at org.apache.maven.artifact.DefaultArtifact.<init>(DefaultArtifact.java:88)
	at org.netbeans.modules.maven.api.PluginPropertyUtils.getPluginPathProperty(PluginPropertyUtils.java:839)
	at org.netbeans.modules.maven.classpath.AnnotationProcClassPathImpl.getCompileArtifacts(AnnotationProcClassPathImpl.java:91)
	at org.netbeans.modules.maven.classpath.AnnotationProcClassPathImpl.createPath(AnnotationProcClassPathImpl.java:66)
	at org.netbeans.modules.maven.classpath.AbstractProjectClassPathImpl.getPath(AbstractProjectClassPathImpl.java:153)
	at org.netbeans.modules.maven.classpath.AbstractProjectClassPathImpl.getResources(AbstractProjectClassPathImpl.java:144)
	at org.netbeans.api.java.classpath.ClassPath.entries(ClassPath.java:363)
	at org.netbeans.modules.maven.classpath.ClassPathProviderImpl$AnnotationPathSelector.getActiveClassPath(ClassPathProviderImpl.java:685)
	at org.netbeans.spi.java.classpath.support.MuxClassPathImplementation.getActiveClassPath(MuxClassPathImplementation.java:156)
	at org.netbeans.spi.java.classpath.support.MuxClassPathImplementation.getResources(MuxClassPathImplementation.java:89)
	at org.netbeans.api.java.classpath.ClassPath.entries(ClassPath.java:363)
	at org.netbeans.api.java.classpath.ClassPath.getRoots(ClassPath.java:248)
	at org.netbeans.modules.java.source.indexing.APTUtils.listenOnProcessorPath(APTUtils.java:343)
	at org.netbeans.modules.java.source.indexing.APTUtils.listen(APTUtils.java:329)
	at org.netbeans.modules.java.source.indexing.APTUtils.create(APTUtils.java:234)
	at org.netbeans.modules.java.source.indexing.APTUtils.get(APTUtils.java:165)
	at org.netbeans.modules.java.source.parsing.JavacParser.createJavacTask(JavacParser.java:897)
	at org.netbeans.modules.java.source.parsing.CompilationInfoImpl.getJavacTask(CompilationInfoImpl.java:460)
	at org.netbeans.modules.java.source.parsing.CompilationInfoImpl.getJavacTask(CompilationInfoImpl.java:438)
	at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:531)
	at org.netbeans.modules.java.source.parsing.JavacParser.getResult(JavacParser.java:140)
	at org.netbeans.modules.parsing.impl.TaskProcessor.callGetResult(TaskProcessor.java:608)
	at org.netbeans.modules.parsing.impl.SourceCache.getResult(SourceCache.java:241)
	at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.run(TaskProcessor.java:775)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:288)
	at org.netbeans.modules.parsing.impl.TaskProcessor$RequestPerformer.execute(TaskProcessor.java:702)
[catch] at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:663)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:1403)
	at org.netbeans.modules.openide.util.GlobalLookup.execute(GlobalLookup.java:45)
	at org.openide.util.lookup.Lookups.executeWith(Lookups.java:287)
	at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:2018)

Are you willing to submit a pull request?

No

Metadata

Metadata

Assignees

No one assigned

    Labels

    Java[ci] enable extra Java tests (java.completion, java.source.base, java.hints, refactoring.java, form)Maven[ci] enable "build tools" testskind:bugBug report or fixpending-responseAwaiting further information to be supplied

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions