Zum Hauptinhalt springen
Echtzeit-Radar & Feeds
Alle RSS Feeds ➔
👥 Community & Social
Windows Tipps & SecurityGrafikkarte vor Überhitzung schützen: So geht’s(25.09.2026 um 08:00 Uhr)
••••••••••
Windows Tipps & SecurityGrafikkarte vor Überhitzung schützen: So geht’s(25.09.2026 um 08:00 Uhr)
••••••••••
Intelligence View
⚡ tsecurity.de Intelligence

I built a Neovim plugin for Java development and open sourced it — nvim-javacreator

I built a Neovim plugin and open sourced it — nvim-javacreator. Here is the story behind it. The Problem I was setting up LazyVim for Spring Boot development. Everything was working well until I needed to create a new Java f…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!

I built a Neovim plugin and open sourced it — nvim-javacreator.



Here is the story behind it.






The Problem



I was setting up LazyVim for Spring Boot development. Everything was working well until I needed to create a new Java file.



In IntelliJ you just right click a package, select New, choose the file type and it creates the file with the correct package name and Spring Boot annotations already filled in.



In Neovim there was nothing like that. I had to manually create the file, type the package name by looking at the folder path and add the annotations myself. Every single time. That got old quickly.



On top of that I work on multiple projects — Spring Boot, React, Python and C++. Without per project configuration Neovim does not know which language servers to load for which project. You can end up with Java LSP loading in a React project or Python LSP showing up in a Spring Boot project.



LazyVim supports this via a settings file called .neoconf.json which tells Neovim which language servers to enable or disable for a specific project. But you have to manually create and configure it for every project. I kept forgetting to do it.



So I built nvim-javacreator to solve both problems.









What it does






1. Auto project detection



When you open a project for the first time it automatically detects whether it is Spring Boot, React, Python or C++ by checking for pom.xml, package.json, requirements.txt and CMakeLists.txt.



It then creates a .neoconf.json file in your project root automatically so only the correct language servers load for that project. No manual setup required.




nvim .
-> Spring Boot Project detected
-> .neoconf.json created
-> Only jdtls and vscode-spring-boot-tools load









2. Java file creator



Press <leader>jn to create a Java file. You get a menu to select the file type:




















































Template Annotations
Class plain class
Interface plain interface
Enum plain enum
Record plain record
REST Controller
@RestController @RequestMapping
Service @Service
Repository
@Repository JpaRepository
Entity
@Entity @Table @Id
Component @Component
Configuration @Configuration


The package name is auto detected from the folder path:




src/main/java/com/myapp/service/
|
package com.myapp.service;






Spring Boot annotations are already filled in. Type the class name and the file is ready.









Installation






Step 1 — Enable LazyVim extras






:LazyExtras






Enable lang.java and lsp.neoconf.






Step 2 — Add plugin



Create ~/.config/nvim/lua/plugins/javacreator.lua:




return {
{
"nirmalravidas/nvim-javacreator",
opts = {},
},
}









Step 3 — Sync






:Lazy sync






That is it. Open your Spring Boot project and start coding.









Why I built this instead of using an existing plugin



I searched for existing plugins before building this. I found one that creates basic Java files but nothing that combines Spring Boot templates, auto project detection and automatic LSP isolation together.









Source code



GitHub: https://github.com/nirmalravidas/nvim-javacreator



Free and open source. Any feedback and contributions are welcome.

1. Sofort-Triage & Abwehrmaßnahmen

SOC Incident Playbook: Remote Code Execution (RCE) Defense
Syntax validiert (0 Fehler)
title: Detect Exploitation - I built a Neovim plugin for Java development and open sourced it — nvim-javacreator
id: a3bb23f0-ed3b-45f2-af4f-f0830328bead
status: experimental
description: Automatisch generierte SIEM-Erkennungsregel basierend auf CTI Intelligence
references:
  - https://tsecurity.de/
author: iShareStuff CTI Automated Detection Engine
date: 2026-09-27
logsource:
  category: network_connection
  product: any
detection:
  selection:
      CommandLine|contains:
        - 'exploit'
  condition: selection
falsepositives:
  - Legitime administrative Zugriffe oder Penetrationstests
level: high
tags:
  - attack.initial_access
Syntax validiert (0 Fehler)
rule CTI_Threat_Indicator {
    meta:
        author = "iShareStuff CTI Automated Detection Engine"
        date = "2026-09-27"
        description = "YARA Signature for "
    strings:
        $str = "I built a Neovim plugin for Ja" ascii wide
    condition:
        any of them
}
Syntax validiert (0 Fehler)
index=security sourcetype IN ("cisco:asa", "pan:traffic", "zeek_conn", "suricata", "WinEventLog:Security")
("I built a Neovim plugin for Java develop")
| stats count earliest(_time) as first_seen latest(_time) as last_seen by src_ip, dest_ip, dest_host, signature
| eval first_seen=strftime(first_seen, "%Y-%m-%d %H:%M:%S"), last_seen=strftime(last_seen, "%Y-%m-%d %H:%M:%S")
| sort - count
Syntax validiert (0 Fehler)
message: "*I built a Neovim plugin for Java develop*"
Syntax validiert (0 Fehler)
CommonSecurityLog
| where Message has "I built a Neovim plugin for Java develop"
| summarize EventCount = count(), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated) by SourceIP, DestinationIP, DestinationPort, Activity
| extend DetectionRule = "iShareStuff-CTI-Compiled"
| sort by EventCount desc

2. Cyber Threat Intelligence & Forensik

🎯
MITRE ATT&CK Matrix Navigator 14 Taktiken
Reconnaissance
-
Resource Development
-
Initial Access
Execution
Persistence
-
Privilege Escalation
Defense Evasion
Credential Access
-
Discovery
-
Lateral Movement
-
Collection
-
Command and Control
Exfiltration
-
Impact
tsecurity.de Cognitive Threat RAG
Fokus-Vektor:

Analyse für identifizierte Bedrohung auf Basis von Live-CTI (ENISA EUVD): CVSS 0.0 · EPSS 0.0% · CISA KEV: nein. Handlungsableitung aus den verlinkten Hersteller-Quellen.

🛡️ Angriffsfläche & Exposure

Netzwerk/Remote-Zugriff ohne Vorauthentifizierung möglich.

⚡ Empfohlene Sofortmaßnahmen
  • 1. Perimeter-Inspektion: Relevante Portfreigaben und exponierte Endpunkte unverzüglich scannen.
  • 2. Patch-Applikation: Hersteller-Hotfix einspielen oder betroffene Daemons in isolierte DMZ-Segmente überführen.
  • 3. Telemetrie & EDR-Alerts: Prozessaufrufe und Child-Processes auf anomale Shell-Spawns überwachen.
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten I built a Neovim plugin for Java development and open sourced it — nvim-javacreator

Thematisch verwandte Begriffe: built, Neovim, plugin, Java · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

💬 Kommentare werden geladen…
Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-100739 | A vulnerability was detected in mathurvishal CloudClassroom-PHP-Project…
Advisory →
tsecurity.de Icon
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag