這是歷史版本頁面 — 看 NetBeans IDE 最新版本
Java 開發用哪套 IDE?NetBeans 能做什麼
寫 Java 程式寫到一個階段,會開始覺得記事本或陽春編輯器不夠用。專案一多,檔案散在好幾個資料夾,改一個變數要手動找所有用到的地方,編譯錯誤只能靠眼睛慢慢抓,更別說要拉一個視窗介面,光排版就耗掉半天。你真正需要的,是一套能把編輯、編譯、除錯、專案管理全部兜在一起的工具,讓寫程式這件事不再卡在這些雜務上。
一般人習慣的做法,是開一個純文字編輯器,再開命令提示字元手動下指令編譯。這樣不是不行,但專案一大,光記指令和找檔案就夠累,而且沒有語法檢查,打錯字要等編譯失敗才知道。這類整合開發環境(IDE)的切入點,就是把這些流程整合進同一個視窗:寫程式時即時標出語法錯誤,按一下就能編譯執行,專案檔案自動分類管理,甚至連版本控制都內建好,省去切換軟體的麻煩。
01NetBeans 除了寫 Java,還能拿來寫哪些語言?
官方說明指出,它主要用於 Java 應用程式開發,但也支援 PHP、HTML5 和 C/C++。也就是說,如果你同時碰 Java 和 PHP,或需要寫一點 C/C++,可以都在同一套軟體裡處理,不用為了不同語言裝好幾套編輯器。不過每種語言的支援深度可能不同,實際用起來順不順手,建議自己裝起來試寫一小段程式看看。
02它跟一般文字編輯器差在哪?為什麼要用 IDE 寫程式?
文字編輯器只負責打字,IDE 額外提供語法標示、程式碼自動補全、錯誤即時提示、重構工具、專案管理、版本控制整合、除錯和效能分析等功能。以 NetBeans 來說,它會同時標示語法和語意上的問題,寫錯的地方當下就看得到,不用等編譯。重構功能也幫你安全地改程式碼結構,改一個方法名稱,所有呼叫的地方會一起更新。
03它的圖形介面設計工具是怎麼用的?可以拉元件做視窗嗎?
可以。NetBeans 內建 GUI Builder,支援 Java Swing 和 JavaFX 應用程式,用拖曳的方式把按鈕、文字欄位等元件放到視窗上,再調整版面配置,不用手寫一堆排版程式碼。這對不熟悉 Swing 或 JavaFX 版面管理的人來說,可以省下不少摸索時間。不過拖曳產生的程式碼結構,如果你習慣完全掌控每一行程式,可能需要一段時間適應。
04它能不能管 Git 版控?還是要另外裝軟體?
內建就有。官方說明提到它整合了 Git、Subversion 和 Mercurial 三種版本控制系統,可以直接在 IDE 裡做 commit、update 和其他版控操作,不用另外開命令列或裝圖形化版控軟體。這對一個人開發或小團隊協作都夠用,開個專案就能看到哪些檔案改過、跟遠端同步,流程都在同一個視窗完成。
05外掛要怎麼裝?裝了能做什麼?
從「Tools」選單進「Plugins」就能開啟外掛管理員,可以安裝、更新或移除外掛。官方說明指出它有一個豐富的外掛生態系,可以依自己的開發需求擴充功能,例如加裝不同語言的支援、程式碼格式化工具或主題配色等。安裝時可以只挑需要的裝,不用一次全裝,保持 IDE 輕量。具體有哪些外掛可用,打開管理員瀏覽一下就知道。
06剛開始學 Java 的人用這套會不會太難?
官方說明提到它對初學者可能有一條比較陡的學習曲線,但同時也提供專案精靈和範本,開新專案時照著步驟選類型、設定名稱就能開始寫。如果你完全沒用過 IDE,一開始要熟悉介面配置和專案結構需要一點時間,但它的介面算是有條理,選單、工具列、視窗配置都清楚。建議先從開新專案、寫 Hello World、按 Run 執行這條路徑開始,慢慢摸熟其他功能。
07學生或個人開發者用這套要付錢嗎?
不用。NetBeans 是 Apache 基金會底下的開源軟體,官方說明明確表示完全免費、沒有授權費用,也沒有功能限制,安裝後就是完整功能。對學生、個人開發者或預算有限的組織來說,這點是它的一大優勢。你不需要為了省錢去找破解版或閹割版,直接從官方網站下載安裝就能用。
08它跟 Eclipse 比起來,哪個比較適合初學者?
官方資料沒有直接比較兩者,但可以從幾個面向自己判斷。NetBeans 的預設介面比較整齊,專案精靈和範本齊全,開新專案的路徑很直覺;Eclipse 的彈性較大,但初期設定和觀念比較抽象。兩者都是免費開源、都有龐大外掛生態。建議都裝來試寫一個小專案,看哪一套的介面和操作邏輯你比較順手,這比看任何評測都準。
09我已經在用 IntelliJ IDEA 了,還需要換成這套嗎?
官方資料沒有提供兩者的功能比較,無法直接回答哪個比較好。如果你目前用 IntelliJ IDEA 用得順手,沒有什麼困擾,就沒有必要換。NetBeans 的定位是免費開源的 Java IDE,而 IntelliJ IDEA 是商業軟體,但官方資料也提到它有免費的 Community Edition。如果你只是好奇或想找免費替代方案,可以裝來試試,但如果你對現狀滿意,換工具反而要重新適應。
10它的介面只有英文,看不懂英文的人是不是不適合?
官方資料顯示介面語系只有 English,沒有中文介面。如果你對英文介面不熟悉,選單和設定項目可能會需要一段時間適應。不過 IDE 的操作邏輯大同小異,常用功能的位置和圖示都算直覺,加上網路上有不少中文教學文章可以對照,門檻沒有想像中高。如果你完全無法接受英文介面,可能就要考慮其他有中文語系的 IDE。
11電腦只有 2GB 記憶體,跑得動嗎?
官方列出的系統需求是 2GB 記憶體最低、建議 4GB,處理器 1.5GHz 以上,硬碟空間 1.5GB。也就是說 2GB 是勉強可以跑的最低門檻,但同時開 IDE 加瀏覽器或其他軟體,可能會明顯感到卡頓。官方說明也提到它啟動速度比某些 IDE 慢,這在記憶體不足的機器上會更明顯。如果你的電腦規格低於這個門檻,建議先升級硬體,或考慮用更輕量的編輯器。
12我主要是寫 Python 或 JavaScript,這套適合嗎?
官方說明列出的支援語言是 Java、PHP、HTML5 和 C/C++,沒有提到 Python 或 JavaScript 的專門支援。雖然透過外掛可能可以擴充,但官方資料沒有提供這方面的資訊,無法確認效果。如果你主要寫 Python 或 JavaScript,市場上有其他更專門的編輯器或 IDE 可以考慮,NetBeans 的強項還是在 Java 這條主線上,建議先確認外掛生態有沒有你要的語言支援再決定。
下載與官方連結
Apache-NetBeans-13-bin-windows-x64.exe · 連結指向軟體原廠
版本紀錄
- 2026-08-15 Apache NetBeans 31.0 496.9 MB
- 2026-02-24 Apache NetBeans 29.0 492.11 MB
- 2025-11-15 Apache NetBeans 28.0 491.85 MB
再看 5 筆
- 2025-08-22 Apache NetBeans 27.0 490.92 MB
- 2025-05-21 Apache NetBeans 26.0 585.11 MB
- 2025-04-21 Apache NetBeans 25.0 493.38 MB
- 2024-12-12 Apache NetBeans 24.0 492.38 MB
- 2024-09-20 Apache NetBeans 23.0 485.51 MB
這一版改了什麼
What's new in this version:
Highlights:
- Bundled nb-javac, startup experience simpler and smoother
- Light FlatLaf look and feel by default
- Partial upgrades for Maven, Gradle, and PHP
- Note: The full list of pull requests integrated in the 13 timeframe is found here, while they are listed by category below
Java:
- fixed wrong nb-javac module name so that it can be installed.
- [#3511] workaround for extends/implements panel not showing any results.
- [jackpot] DefaultRuleUtilities::referencedIn fix for single variable matching
- [#3494] Organize Imports inspection is not record aware.
- Hint/Inspection panel and dialog layout fixes
- [#3466] do not show Convert Type to Var hint for method references
- remove findbugs installer module.
- [jackpot] Add sourceVersion(int) to rule file utils and deprecate enum variant. (part 2)
- nb-javac checks cleanup and dialog removal.
- [jackpot] Add sourceVersion(int) to rule file utils and deprecate enum variant.
- javac wrapper module should clean its "external" folder.
- VaniallaPartialReparser reports incorrectly reparsed files
- [jackpot] added generics aware rule to IteratorToFor inspection
- Handle any script’s URI and provide script content when not readable from file.
- Including nb-javac binaries in all the complementary distributions
- fixed class modifier auto completion for sealed classes.
- [jackpot] Rewrite "String::replaceAll with dot" inspection to apply to more cases and methods
- Dynamically switching from all-file processing to single-file processing of multi file JavaSources. [2959]
- fix refactoring of class member when a new name is the same as the name of a local variable [2612]
Maven:
- #3526: Retain traling / for non-existing directories.
- NETBEANS-6347: Disabled user actions fixed
- Formatted the templates to be inline with the default java formatting.
- Upgrade to Apache Maven 3.8.4
- m2 URL components need to be URL decoded before being used to create the artifact
- Maven pom.xml annotations: Configure graphics context for antialiasing
- Maven project template uses template for project structure.
- maven daemon support
Gradle:
- [#3590] Prevent suspicious NPE forn Gradle SubProjectsNode
- Fix Gradle project loading in template operations.
- Rewrite lambda to an inner class to prevent from Gradle warning about execution optimizations.
- NETBEANS-6307: check global artifact cache, ignore per-project cached structure if not consistent.
- Fixed typo: runSingle presence depends on runClassName property.
- Fixed some lost-in-translation issues with Gradle Tooling
- Use Gradle distribution service and public repo for their binaries.
- Give info when the IDE’s Java is not compatible with Gradle
- Testcase checking Gradle ProjectInfo never return null
- Minimal support of java-platfom Gradle projects.
Groovy:
- Code completion for class fields doesn’t work.
- Navigation to fields sometimes doesn’t work in Groovy
- Avoid spurious exception in log. Warn if perf counters are enabled on incompatible JDK
- Groovy CC doesn’t work on JDK 1.8
- Posibility to run single Groovy Script
- An infinite loop may occur when parsing Groovy sources
- Package code completion doesn’t work in empty groovy …
PHP:
- Fix an issue the stop command is not sent
- Fix code completion for parent’s trait #3486
- Regenerate sigfiles
- PHP 8.1 Support
- PHP 8.1 Support: Pure intersection types
- PHP 8.1 Support: New in initializers
- Escape HTML entities in PHPStan report
- PHP 8.1 Support: Readonly Properties 2.0
- Add PHPStan rule level 9
- PHP 8.1 Support: Never type
- PHP 8.1 Support: Final class constants part
- Mark overriding/overridden constants and properties as annotations
- Allow Convert Visibility Suggestion to be disabled
- PHP 8.0: Fix syntax errors for attributes of interface constants and methods
- Show inherited members on the navigator pane
CSS:
- [#3593] Fix csl elementhandle
- CSS Parser Fixes
- Exclude less (@{}) and scss (#{}) string interpolation from formatting
LSP:
- Support to redefine icons for LSP client
- LSP: Change method parameters should refactor access modifier.
- LSP: Modified to fix errors currently printed to log from ServerTest.
- Convert source path to URI String.
- LSP: Do not refactor library classes.
- LSP: Fixed broken code completion for super constructor call.
- LSP console IO is made more reliable, output is not lost now.
- LSP: Do not produce CodeActions for errors with empty description.
- VSCode: Show Debug Console while running tests.
- LSP: Never remove imports on save when the code isn’t bug free.
- Disable client-side projects and nodejs support.
- Various fixes of project / folder actions presence in vscode
- LSP: Couple of Text Explorer fixes.
- Maintain data identity for duplicit info requests
- LSP: Provide completion for SQL queries for repository annotations.
- LSP: Allow to specify default DB connection
- Added more actions to LSP Projects View
- Adding command for New Database Connection
- LSP: attempt to speed up open type action.
- Bridged node actions to LSP commands. Enabled DB explorer view for LSP clients.
- Dispose/disconnect tree view after client stop.
- Micronaut Data Finder completion check for @Repository annotation fixed.
- Check for nativeImagePath property.
- Micronaut data finder methods code completion
- Enable node-based UIs in LSP
- LSP: Organize imports action added.
- Allow VSCode users to choose 'local' - e.g. per workspace userdir
- Shade whole methods which are not included in the native image.
- LSP: Enrich Java Outline view by more details.
- Gson library upgraded to 2.8.9, LSP upgraded to 3.16
- Disable running LSP servers for VCS diffs. [2876]
- First version of semantic highlight support for both the LSP client and Java LSP server. [2617]
Editor:
- Assure that TokenHierarchy is called with Document’s read lock.
- Document switcher popup not grouping by project on first use.
- VSCode:
- Be able to resolve project problems in VSCode extension.
- Delay change events for node after the node’s pending queries are resolved
- Run Configuration UI for the Explorer view
- Really convert IDs to numbers to use with Map. Re-fetch items that have been marked as changed.
- Show Databases and Projects views only after NBLS extension activates.
- Merge the code lens actions with the launch config properties and adapt Gradle to apply env.
- LSP + VSCode extension: Run/Debug via project actions.
- Rich HTML UI for (now only for) VSCode Refactorings
- Misc:
- build.xml and run.xml: fixed detection of 64 bit architecture for Java 9+ (on Windows)
- Exposing simple UI action to open next segment of a heap dump
- Making build information a bit more up to date
- Detect another Java support ext and recommend to Disable one.
- Micronaut project creation fix
- New From Template creates an invalid HTML page
- Update FlatLaf from 2.0 to 2.0.1
- Update README with JDK 11 requirement.
- Cache netbeanrelease.json for offline builds and source releases.
- Change maven 384 dependencies to codehaus groupID
- Fixes to LSP client/server related to semantic highlighting.
- Ensure BufferedInputStream is not initialized with a buffer size of 0
- Fix Gradle popup menu Tasks.. action not working.
- search/replace dialog: set shift+enter as line break and add multi-line info message.
- javafx ide.ergonomics config should not try to load the old nb-javac.
- Update year in NOTICE to 2022
- - Upgrade Metro from 2.4.4 to 2.4.8
- Honor MxLibrary.path() if specified
- Better report of failures, append stderr/out.
- LSP: Change method parameters should refactor access modifier. (#3442)
- Update FlatLaf from 1.6.1 to 2.0
- Use boolean flag to create apidoc menu
- Simplified cancelHandle test.
- Disable database features in vscode
- Always call mx build before running the java.mx.projects tests
- [cnd] 2.2 - cnd and cpplite integration fixes
- Avoid using word failed in non-fatal debug messages
- [cnd] small-2.1 Merging from master
- Modified to prevent IllegalStateExceptions from CasualDiff.
- dlight.nativeexecution test documentation
- [cnd] small-1.5 More cnd tests
- Shield against usage of JDK-11 API.
- Native image breakpoints work with shared libraries.
- [cnd] small-1.4 makeproject samples, editor/lexer tests
- Initial port and adapt of GitHub issue configuration from Airflow.
- disabled uihandler modules (exception+statistics reporter).
- [CND] small-1.3 Remaining licences in cnd cluster
- Fix cluster splitting of RAT errors
- print simple junit report on travis job failure.
- [cnd] small-1.2: cnd.editor/cnd.remote/licenses
- Add binaries.repos property to downloadbinaries call in projectized.xml.
- [cnd] small-1.1: Moving some cnd modules to contrib
- Follow LSP specification for null value for startCharacter in FoldingRange
- Allow searching for multi-line Strings.
- Updated Subversion support to 1.14.0
- - remove annotation warnings related to deprecating
- Fix html.angular, js2.editor, js2.nodejs and js2.requirejs tests
- Clean merge of "Fixing the configure hint sub-fix to work more properly for per-project hint settings."
- Fix javascript2.editor tests and reenable testing in travis
- avoid IllegalArgumentException in FoldManagerImpl
- Change nb.sass.libsass to TRUE, to fix broken SASS
- Remove obsolete permgen flags.
- Single file Groovy Run and Debug in VSCode.
- Using HTML based UI for Change method parameters refactoring
- Updating HTML/Java API to 1.7.3 version
- Use ToolProvider from libs.javacapi, not from bootclasspath
- Adding support for Oracle Cloud
- Deactivate broken xmlretriever test (client cert expired and a new one is not yet issued)
- Remove jruby related YAML parser libs
- Build of vscode extension fails
- Small improvement on GitBranchHash which is able to get at least the hash of a detached HEAD
- Switch to FlatLaf Light as default look and feel for IDE
- Handle invalid package.json only containing a single string
- Consider the reported trustlevel of the KeyStoreProvider when querying KeyStores
- An attempt to fix unstable test for java.mx.projects
- Splitting workflows into individual files
- Build Java cluster on JDK17
- NETBEANS-3042 Fixes Payara Server log formatting issue
- Don’t search for parent folders when there is .mxignore file
- NETBEANS-3270 Webapp not correctly recognized as Java EE
- Fixes creation of a Glassfish deployment descriptor
- Allow plugins to exclude files from being indexed
- Update to nb-javac identical to javac from jdk-17+35
- Remove JARs fom repository to simplify release review
- Pattern Matching for Switch hints (preview)
- Fixing the configure hint sub-fix to work more properly for per-project hint settings.
- Handling of FileObjects not backed by j.i.File when sorting by full path is requested.
- Updates for Sql autocomplete and Create a SQL Standard Quoter for Use with Connectionless Cases
- Replacing manually built javac with Maven one [2783]
- Options panel use GTK default colors