プロジェクト

全般

プロフィール

NetBeans

高橋 徹 さんが7年以上前に追加

NetBeans IDEおよびNetBeans RCPに関する徒然を書き付く。


返答 (25)

NetBeans IDE 8.2 RC - 高橋 徹 さんが7年以上前に追加

2016年9月18日、NetBeans IDE 8.2 RCが公開されていたのでインストールしてみました。

常用プラグインのMore Emacs、Darcula LAFは、プラグインポータル 8.1に登録されていますが、プラグインポータル 8.2には登録されていないので、デフォルトではインストール可能な一覧に登場しません。
そこで、プラグインサイトの設定で、プラグインポータル 8.2のURLから8.2の箇所を8.1に変更したものを新たなプラグインサイトとして追加設定します。

編集ペインの背景に画像を表示するitaeditorは、Darcula LAFと組み合わせる場合、先にDarcula LAFを適用してから入れるのがよいです。逆に入れた場合、itaeditorのオプション設定画面の色がデフォルトのLAFのままとなってしまい、Darculaと合わない色になってしまいました。

ということで、NetBeans IDE 8.2をインストール後の設定手順は次のように実施しました。

  • プラグインポータル 8.1の追加
  • Darcula LAF プラグインのインストール
  • More Emacs プラグインのインストール
  • itaeditor プラグインのインストール

NetBeans IDE 8.2 - 高橋 徹 さんが7年以上前に追加

2016年10月3日、NetBeans IDE 8.2がリリースされました。

Javaプログラミングに関する主な新機能を、次から抜粋
http://wiki.netbeans.org/NewAndNoteworthyNB82

  • マルチキャレットで複数個所を同時に編集
  • デバッグ中、変数にカーソルを載せると値がツールチップ表示されるが、このツールチップをピン留め可能に
  • SQLの実行をプロファイル
  • プロファイルの色分け
  • Andのビルド時にカスタムアクションの定義
  • コード・テンプレートで変数の編集順番を制御
    fore + TAB で拡張for文のテンプレートを展開時、コロンの後ろの式(変数名)に最初にフォーカスがあたり編集モードに、変数名を変えるとコロンの前の変数も自動で置き換わる

NetBeans IDE Dev 201611030002 で itaeditorプラグインの起動時警告(継続可能) - 高橋 徹 さんが7年以上前に追加

java.lang.IllegalStateException: Problem in some module which uses Window System: Window System API is required to be called from AWT thread only, see http://core.netbeans.org/proposals/threading/
    at org.netbeans.core.windows.WindowManagerImpl.warnIfNotInEDT(WindowManagerImpl.java:1764)
    at org.netbeans.core.windows.WindowManagerImpl.getMainWindow(WindowManagerImpl.java:188)
    at wintermaples.itaeditor.BackgroundImagePanel.getBackgroundImageChanger(BackgroundImagePanel.java:266)
    at wintermaples.itaeditor.BackgroundImagePanel.changeImage(BackgroundImagePanel.java:215)
    at wintermaples.itaeditor.BackgroundImagePanel.opacitySliderStateChanged(BackgroundImagePanel.java:191)
    at wintermaples.itaeditor.BackgroundImagePanel.access$200(BackgroundImagePanel.java:21)
    at wintermaples.itaeditor.BackgroundImagePanel$3.stateChanged(BackgroundImagePanel.java:76)
    at javax.swing.JSlider.fireStateChanged(JSlider.java:432)
    at javax.swing.JSlider$ModelListener.stateChanged(JSlider.java:350)
    at javax.swing.DefaultBoundedRangeModel.fireStateChanged(DefaultBoundedRangeModel.java:364)
    at javax.swing.DefaultBoundedRangeModel.setRangeProperties(DefaultBoundedRangeModel.java:302)
    at javax.swing.DefaultBoundedRangeModel.setValue(DefaultBoundedRangeModel.java:168)
    at javax.swing.JSlider.setValue(JSlider.java:531)
    at wintermaples.itaeditor.BackgroundImagePanel.load(BackgroundImagePanel.java:230)
    at wintermaples.itaeditor.Installer.restored(Installer.java:16)
    at org.netbeans.core.startup.NbInstaller.loadCode(NbInstaller.java:468)
    at org.netbeans.core.startup.NbInstaller.loadImpl(NbInstaller.java:391)
    at org.netbeans.core.startup.NbInstaller.access$000(NbInstaller.java:102)
    at org.netbeans.core.startup.NbInstaller$1.run(NbInstaller.java:343)
    at org.openide.filesystems.FileUtil$2.run(FileUtil.java:436)
    at org.openide.filesystems.EventControl.runAtomicAction(EventControl.java:127)
    at org.openide.filesystems.FileSystem.runAtomicAction(FileSystem.java:519)
    at org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:420)
    at org.openide.filesystems.FileUtil.runAtomicAction(FileUtil.java:440)
    at org.netbeans.core.startup.NbInstaller.load(NbInstaller.java:340)
    at org.netbeans.ModuleManager.enable(ModuleManager.java:1365)
    at org.netbeans.ModuleManager.enable(ModuleManager.java:1170)
    at org.netbeans.core.startup.ModuleList.installNew(ModuleList.java:340)
    at org.netbeans.core.startup.ModuleList.trigger(ModuleList.java:276)
    at org.netbeans.core.startup.ModuleSystem.restore(ModuleSystem.java:301)
    at org.netbeans.core.startup.Main.getModuleSystem(Main.java:181)
    at org.netbeans.core.startup.Main.getModuleSystem(Main.java:150)
    at org.netbeans.core.startup.Main.start(Main.java:307)
    at org.netbeans.core.startup.TopThreadGroup.run(TopThreadGroup.java:123)
    at java.lang.Thread.run(Thread.java:745)

NetBeans IDE 8.2 Windows版のJavaソース編集画面で日本語入力のIMEでEnterキーを押すとその行が表示中心にスクロールされてしまう - 高橋 徹 さんが7年以上前に追加

NetBeans IDE 8.2で、Java編集画面にIME(Microsoft IME)で日本語を入力時、確定操作(Enter、Ctrl+Enter、Ctrl+M)をすると、その行が表示の中心になるよう上下スクロールが発生してしまいます。

開発版では現象が発生しないので、気になる場合は開発版を使用するとよいかと。現時点ではありませんが、NetBeans 8.2の更新が提供されると解消するかもしれません。

IMEでJavaソース編集画面のスクロール挙動が - 高橋 徹 さんが約7年前に追加

先のバグはNetBeans IDE 8.2の更新で修正されましたが、今度はIMEで文字入力するとその後キー操作でのカーソル移動でスクロールしなくなる問題が発生してしまいました。
https://netbeans.org/bugzilla/show_bug.cgi?id=269262

このチケットに暫定パッチが添付されていましたので、試しに取り込んでビルドしてみました。添付のJARを差し替え、キャッシュをクリアします。
C:\Program Files\NetBeans 8.2\ide\modules\ に添付のJARをコピーします。これだけでは修正が反映されないことがあるので、その場合はNetBeansのキャッシュを削除してから起動します。
キャッシュは、%LOCALAPPDATA%\NetBeans\Cache\8.2などです。

org-netbeans-modules-editor-lib2.jar (1.39 MB) org-netbeans-modules-editor-lib2.jar NetBeans bug-id 269262の暫定パッチ適用版(リポジトリ取得日2017-01-03)
org-netbeans-modules-editor-lib2.jar (1.4 MB) org-netbeans-modules-editor-lib2.jar NetBeans bug-id 269262の暫定パッチ適用版(リポジトリ取得日2017-07-17)

NetBeans IDE 8.2 (Java SE) Windowsをインストールして設定 - 高橋 徹 さんが約7年前に追加

ノートPCのNetBeans環境がぐっちゃりしたので、一度アンインストールしてインストールし直しました。
環境は、Windows 10 64bit、テキストのサイズ150%(2560×1440の解像度 で13インチ画面のため、100%、125%では文字が小さすぎるため)

  • NetBeans IDE 8.2 Windows Java SE版のインストール
    • 起動オプションに--fontsize 18を追加(ショートカットのプロパティ リンク先に追記)
  • Darcula LAF for NetBeansプラグインのインストール
    [ツール]メニュー > [プラグイン] > [使用可能なプラグイン]タブ から
  • More Emacsプラグインのインストール
    [ツール]メニュー > [プラグイン] > [使用可能なプラグイン]タブ から
    インストール&再起動後、[ツール]メニュー > [オプション] > [キーマップ] で [プロファイル]欄を[MoreEmacs]に変更
  • ItaEditorプラグインのインストール
    別途ダウンロードしたものを、[ツール]メニュー > [プラグイン] > [ダウンロード済]タブ から指定して
    インストール後、[ツール]メニュー > [オプション] > [外観] > [背景画像]タブ で [背景画像URL]欄に画像ファイルへのURIを記載(例 file:/C:/Users/torutk/Pictures/itamoe10.jpg

NetBeans IDE 8.2からScene Builderの呼び出し設定 - 高橋 徹 さんが約7年前に追加

Scene Builderをデフォルトのディレクトリ(C:\Users\<ユーザー名>\AppData\Local\SceneBuilder)にインストールしたときは、NetBeansから呼び出しが成功します。
別のディレクトリにインストールしたときは、NetBeansの[ツール]メニュー > [オプション] > [Java] > [JavaFX]タブ > [Scene Builderホーム]欄でインストール先ディレクトリを指定する必要があります。

NetBeans IDE dev 201705280001 を JDK 9 EA b171で動かす - 高橋 徹 さんがほぼ7年前に追加

とりあえず既存のNetBeans(Ant)プロジェクトを開くと、無事開いてビルド・実行ができました。

  • [ツール]メニュー > [オプション] > [外観] > [ルック・アンド・フィール]タブ > [Nimbus]を選択し、通知領域でポップアップする再起動メッセージをクリックすると、「予期しない例外」ダイアログが表示されます。。
java.lang.UnsupportedOperationException: not running in regular module system, cannot restart
    at org.netbeans.core.startup.ModuleLifecycleManager.markReadyForRestart(ModuleLifecycleManager.java:124)
    at org.netbeans.core.startup.ModuleSystem.markForRestart(ModuleSystem.java:518)
        :

が、通常に終了して起動すればルック・アンド・フィールの変更が反映されます。

NetBeans IDE dev 201706160001 を JDK 9 EA b174で動かす - 高橋 徹 さんがほぼ7年前に追加

先にJDK9をインストールしてからNetBeans IDE devをインストールすると、使用するJDKの選択でJDK9が指定できるようになります。

install_jdk9-1.png

更新をチェックする、を外しておきます。

起動時に、以前のバージョンの設定を引き継ぐか聞かれたら引き継がないを選択します。

プラグインを入れるために、8.2のプラグインポータルを設定します。
http://plugins.netbeans.org/nbpluginportal/updates/8.2/catalog.xml.gz

install_jdk9-1.png (24.2 KB) install_jdk9-1.png インストール時に使用するJDKの指定

Checkstyle - 高橋 徹 さんがほぼ7年前に追加

NetBeans IDEのプラグインでCheckstyleを実行する Checkstyle Beanは、現時点ではNetBeans 8.1までのプラグインポータルに登録されています。

メモ)NetBeans 8.2に対応していないのではなく、プラグイン作者がNetBeans 8.2への登録依頼をしていない場合もある。

Checkstyleサイトでプラグインを公開しているので、そのサイトのURLをプラグインサイトに追加すればよいようです。
http://www.sickboy.cz/checkstyle/autoupdate/autoupdate-3.xml

Checkstyle Beans をインストールすると、以降ソースコードを開くと「非常に厳しい」しばりがかかります。

このあたりは、過去に次のWikiに既に書いていました・・・

NetBeans Checkstyle

Javaプラットフォーム・フォルダの認識 - 高橋 徹 さんがほぼ7年前に追加

[ツール]メニュー > [Javaプラットフォーム] で、[プラットフォームの追加]からJDKをインストールしたディレクトリを選択する際、シンボリックリンクやジャンクションは対象として認識されません。

IMEでJavaソース編集画面のスクロール挙動が - 高橋 徹 さんが6年以上前に追加

NetBeans dev版(2017-09-10)のJavaソース編集画面のIME使用時スクロール挙動のパッチ適用

  • NetBeans IDE 8.2 と JDK 8
  • cloneして展開したNetBeansのソース群から、次の2つのプロジェクトを開く
    • editor.lib2
    • nbbuild

nbbuildのbuild.xmlをドリルダウンし、bootstrap を右クリックし実行
editor.lib2 のビルド

Apache Incubator NetBeans の配布サイト - 高橋 徹 さんが約6年前に追加

Java SE版のビルド済みアーカイブ
https://dist.apache.org/repos/dist/dev/incubator/netbeans/incubating-netbeans-java/

現時点では、incubating-9.0-beta バージョンがあります。<- これはbeta-rc1相当でbetaではなかった!

Apache Incubator NetBeans のベータリリース - 高橋 徹 さんが約6年前に追加

ベータリリースについてのブログ
https://blogs.apache.org/netbeans/entry/announce-apache-netbeans-incubating-9

このブログ中に、バイナリのダウンロードURL記載あり。

Apache Incubator NetBeans build242とJDK 10の結果 - 高橋 徹 さんが約6年前に追加

Apache Incubator下のNetBeans IDEは、開発途上版が随時ビルドされています。
https://builds.apache.org/job/incubator-netbeans-release/

  • 2018/3/25現在最新のbuild242をダウンロードし展開
  • etc/netbeans.confにJDK 10を使う設定を記述
    netbeans_jdkhome="C:/Program Files/Java/jdk-10"
  • ローカル変数の宣言で型の部分にvarを記述したところ、予約語として認識(カラーリングが予約語と一緒)、ビルド・実行もOK

NetBeans 10 vc2 - 高橋 徹 さんが5年以上前に追加

2018年11月15日リリース予定のNetBeans 10の事前評価版
https://cwiki.apache.org/confluence/display/NETBEANS/10vc2

注)vcはvoting candidate(投票候補)の略

ダークテーマのDarcula LAF等のプラグインは、標準設定のサイトにはないので、次のURLを追加します。
http://plugins.netbeans.org/nbpluginportal/updates/8.2/catalog.xml.gz

NetBeans 10、AntプロジェクトでJUnitテスト実行できない - 高橋 徹 さんが約5年前に追加

NetBeans 10 で、Antプロジェクトを作成、JUnitでユニットテストクラスを生成し、テストを実行したらエラーに。

C:\Users\torutk\AppData\Local\NetBeans\Cache\10.0\executor-snippets\junit.xml:184: The following error occurred while executing this line:
C:\Users\torutk\AppData\Local\NetBeans\Cache\10.0\executor-snippets\junit.xml:95: The <classpath> or <modulepath> for <junit> must include junit.jar if not in Ant's own classpath
BUILD FAILED (total time: 4 seconds)

スタックオーバーフローに同エラーの件発見。

https://stackoverflow.com/questions/54161715/netbeans-10-junit-jar-not-found

ここから参照されているNetBeansメーリングリストによると、未対応とのこと。
回避策は、JUnit 5ではなくJUnit 4を使うこと。

  • プロジェクトのプロパティから、ライブラリの Compile Tests からJUnit 5をRemove、新たにJUnit 4を追加
  • テストクラスのインポート文をJUnit 5からJUnit 4のものに修正

テストを実行すると、別なエラーに

junit.framework.AssertionFailedError
at jdk.internal.reflect.GeneratedMetthodAccessor249.invoke(Unknown Source)
  :

JDK 9から導入のモジュールシステム(JPMS)を使ったモジュールのクラスのユニットテストを実行しようとしています。
JPMSを使わないプロジェクトを作成しユニットテストを実行してみたところ、JUnit 4とHamcrest 1.3をテストライブラリに追加すれば実行可能となりました。

NetBeans 11.2 - 高橋 徹 さんが約4年前に追加

最近使用頻度が減ったNetBeansですが、家のノートPCの環境整理に合わせて最新を入れてみることにしました。
本日時点での最新バージョンは11.2でした。以下URLから[Download]を辿り、Windows用のインストーラーをダウンロードしました。
https://netbeans.apache.org/download/nb112/index.html

インストーラーを実行すると、インストールするパックを選択する画面がありました。

picture491-1.png

  • Java SEを主に使う場合、HTML5/JavaScriptは必須で、Java EEとPHPは外すことができました。
picture491-1.png (141 KB) picture491-1.png NetBeansインストーラー、パックの選択

NetBeans 11.2 設定メモ - 高橋 徹 さんが約4年前に追加

プラグインインストール

nb-javacライブラリ・プラグイン
Java開発にはほぼ必須

Javaを有効にすると(初回Javaプロジェクト作成時)、NB-Javac Libraryプラグインをインストールするよう要請されます。
インターネットに接続されていない環境では、プラグインポータルからダウンロードしたNBM(NetBeansモジュール)ファイルを手動で運んでインストールします。
http://plugins.netbeans.org/plugin/73454/nb-javac-library

Darcula LAF for NetBeans
ダークテーマがお好みなら

ダークテーマはこれが定番です。NetBeans 8.2用で止まっているようですが、NetBeans 11にも適用できます。プラグインポータルからダウンロードしたNBMファイルを手動で運んでインストールします。
http://plugins.netbeans.org/plugin/62424/darcula-laf-for-netbeans

日本語化
日本語化がお好みなら

@junichi_11 さんが非公式に提供している日本語化用のNetBeansモジュールがあります。
https://junichi11.com/netbeans/netbeans-111-release-and-l10n

Checkstyle Beans プラグイン

静的解析ツール Checkstyle をNetBeansに組み込み、ソースコードを編集中にチェックを実施、指摘箇所を可視化します。NetBeans 8.2用で止まっていますが、11.2でも使用可能です。
https://www.sickboy.cz/checkstyle/

インストールと設定は、NetBeans Checkstyle ページ参照。

PMD

静的解析ツール PMD をNetBeansに組み込み、ソースコードを編集中にチェックを実施、指摘箇所を可視化します。NetBeans 8.2用で止まっていますが、11.2でも使用可能です。
https://github.com/giancosta86/EasyPmd

インストールと設定は、NetBeans PMD ページ参照。

FindBugs

フォント設定

メニューやプロジェクトペイン等のNetBeans枠組みで使われるフォントをGUIで設定可能です(Darcula LAF設定時)。

  • [ツール]メニュー > [オプション] > [外観] > [Darcula Look and Feel]タブをクリック
  • [Override default fonts by]にチェックを付け、[…]ボタンをクリックしてフォントを指定
    → ここではYu Gothic UI 12を選択

エディタのフォントをGUIで設定可能です。

  • [ツール]メニュー > [オプション] > [フォントと色] > [構文]タブをクリック
  • [言語]を[すべての言語]に選択して、[フォント]欄で[…]ボタンをクリックしてフォントを指定

NetBeans 11.3 - 高橋 徹 さんが約4年前に追加

NetBeans 11.3がリリースされていました。
https://netbeans.apache.org/download/nb113/index.html

目玉機能は、

  • Java開発支援
    • プレビュー機能 Records (JEP 359)
    • instanceofのパターンマッチング(JEP 305)
    • シングルソースファイルの実行(JEP 330)
    • テキストブロック改善(JEP 355)
    • Gradle 6.0
  • その他
    • ダークテーマ(Dark Metal、Dark Nimbus)、新テーマ FlatLaf Look and Feel(ライト、ダーク)
    • WindowsにおけるHiDPI改善

NetBeans 11.2からのアップデートは、どうやら11.3を新規インストールする模様。

  • 11.3をインストーラでインストールする
  • 11.3を起動し、個人設定を11.2からインポートするか聞かれるのでインポートする
  • 11.2で追加インストールしていたプラグインを11.3にインストールするか聞かれるので必要なものをチェックしてインストール
    → Darcula Look and Feelは、11.3で新たに搭載されたダークテーマ(FlatLaf)に置き換えるのでチェックから外した
  • 11.2をアンインストール
  • 11.2のインストールディレクトリに一部ファイルが残っていたので手動削除

NetBeans 8.2 CORBAプログラミングの徒然 - 高橋 徹 さんが約4年前に追加

プロジェクトの構成をどうしようかな?

NetBeans 8.2は、1プロジェクト1JAR制なので、CORBAクライアントとCORBAサーバーの2つのプログラムを開発する場合、少なくても2つのプロジェクトが必要。
また、IDLはプロジェクト間で共有(一元管理)したい。

ということで、CORBAプログラムのプロジェクトの構成は、

案1)2プロジェクト構成

  1. サーバー用のプロジェクト
  2. クライアント用のプロジェクト

IDLはサーバー用のプロジェクトに含める
クライアント用のプロジェクトからサーバー用のプロジェクトへの依存を設定

案2)3プロジェクト構成

  1. サーバー用のプロジェクト
  2. クライアント用のプロジェクト
  3. IDL用のプロジェクト

IDLを独立したプロジェクトとする
サーバー用のプロジェクトはIDL用のプロジェクトへの依存を設定
クライアント用のプロジェクトはIDL用のプロジェクトへの依存を設定(注:サーバー用プロジェクトへの依存は持たせない)

NetBeans上でIDLファイルの編集がダメダメ

NetBeans IDE 8.2(Java SE版)を使っているが、新規ファイルでファイルの種類にIDLがない! そこで、空のファイルでIDLを作成する。
それだと、インデントしてくれない(スペースを打ってインデントするしかない)。解決方法見当たらず、IDL編集用のプラグインも見当たらず…。

IDLファイルのコンパイル方法

NetBeans のAntプロジェクトからIDLコンパイルを実行する方法として次の3案が考えられる。

  1. IDLコンパイルを行うAntタスク(ライブラリ)を探して利用
  2. IDLコンパイルを行うAntタスクを自前で作成
  3. execタスクでIDLコンパイラを呼び出す

IDLコンパイルAntタスクを調査

  • idldepend - an ANT CORBA task
    Java SE Development Kit(JDK)標準のidlj、Orbacus、JacORB、OpenORB、Orbixに対応している
  • JacORB のorg.jacorb.idl.JacIDL
    Programming Guide 25.1節参照

NetBeans 12.0とJPMSプロジェクト - 高橋 徹 さんがほぼ4年前に追加

NetBeans 12.0 で JPMS(Java Platform Module System)を使うAntプロジェクトを作成

[File] > [New Project] で「New Project]画面を開き、左ペインで[Java with Ant]を選択、右ペインで[Java Modular Project]を選択し[Next]

デフォルトでは空っぽのプロジェクトが生成されます。プロジェクトの下にモジュールを定義していく必要があります。

プロジェクトを右クリックし、[New] > [Module] で「New Module」画面を開き、モジュール名を記入して[Finish]

生成されるディレクトリ・ファイルは

JavaModuleApplication
  +-- src
        +-- com.torutk.helloapp
              +-- classes
                    +-- module-info.java

作ったモジュールの下にJavaパッケージを作成します。モジュールもしくはclassesを選択して右クリックし[New] > [Java Package]を実行
作ったパッケージの下にJavaクラスを作成します。

最初は[Run]メニューからプログラムを実行しようとすると、メインが定義されていないと実行できません。
[Run] > [Set Main Project]でこのプロジェクトを指定すると実行可能になります。

NetBeans 12.2 Windowsのインストール - 高橋 徹 さんが約3年前に追加

2020年11月に、NetBeans 12.2がリリースされました。
https://netbeans.apache.org/download/nb122/nb122.html

主な新機能

  • JDK 14と15のJava新言語仕様に対応(sealed、record)

NetBeans 12.0をアンインストール

NetBeans 12.2をインストール

  • インストールコンポーネントからJava EEとPHPを除外
  • 使用するJDK(NetBeans自身を実行するJDK)に、Oracle JDK 11を指定

インストール後の初期設定周り

  • 外観でLook and Feelを「FlatLaf Dark」に変更
  • 既存のNetBeans javaプロジェクト(Antベース)を開くと、初回nb-javacライブラリ・プラグインのインストールが発生
    → 実施
  • フォントの指定([Tools]メニュー > [Options] で [Fonts & Colors]ボタン > Category欄を[Default]でFont欄に[Ricty Diminished 14])
  • ライセンスヘッダーの指定 → NetBeans ライセンスヘッダーの指定
  • キーバインドを標準からEmacsに変更([Tools]メニュー > [Options] で [Keymap]ボタン > Profile欄を[Emacs]に変更)

NetBeans 12.4 - 高橋 徹 さんが2年以上前に追加

2021年5月19日に、NetBeans 12.4がリリースされました。
https://netbeans.apache.org/download/nb124/index.html

    (1-25/25)