拡張機能のコンパイル

classファイルの更新日時が更新されないとき、build.cmdだと一瞬すぎてエラーが見えないと思ったことはありませんか?そんなときはbuild.cmdをテキストエディタで開いてgoto : EOFの前にpauseを入れるとよいです。


概要




extensionsフォルダに build.cmd がある場合にはbuild.cmd上に.javaファイルをドラッグ・アンド・ドロップするだけでOKです。

上手くコンパイルされれば同名の.classファイルが生成されます。

classファイルの更新日時が更新されないとき、build.cmdだと一瞬すぎてエラーが見えないと思ったことはありませんか?

そんなときはbuild.cmdをテキストエディタで開いて''goto : EOF の前に pause''を入れるとよいです。

コンパイル方法


build.cmdがある場合


build.cmdが無い場合には ダウンロード するか、このページの後半にあるソースコードをコピペして自分で作成してください。

Windows with javac


コマンドプロンプトを開いて以下のコマンドを入力して下さい。

cd (NicoCache_nlのフォルダ) && ^
javac -classpath ./;./NicoCache_nl.jar extensions/YourExtension.java 
 

例:
cd C:\NicoCache_nl && ^
javac -classpath ./;./NicoCache_nl.jar extensions/*.java

この例↑ではコマンドを連結(&&)して改行も連結(^)しているのでそのまま全文をコマンドプロンプトにコピペして実行するだけです。

このまま実行するとextensionsフォルダにある全ての拡張機能がコンパイルされます。

Windows with build.cmd


あるいはextensionsフォルダにbuild.cmdがある場合は次のコマンドでもコンパイルできます。

cd (NicoCache_nlのextensionsフォルダ) && ^
.\build YourExtension.java 
 

例:
cd C:\NicoCache_nl\extensions && ^
build *.java
 

Un*x with javac


cd (NicoCache_nlのディレクトリ)
javac -classpath ./:./NicoCache_nl.jar -encoding sjis \
extensions/YourExtension.java 
 

例:
cd /home/username/nicocache_nl && \
javac -classpath ./:./NicoCache_nl.jar -encoding sjis && \
extensions/*.java

この例↑でも同様にコマンドを連結(&&)して改行も連結(\)しているのでそのまま全文をbashシェル等にコピペして実行すればよいです。

参考: (Linux)コマンドを連結して行う「;」「&」「&&」「||」の違い

https://jehupc.exblog.jp/15729095/

ホームディレクトリはcdからpwdで確認できます

ソースコード


build.cmdのソースコード



@echo off
 setlocal
 if "%~1"=="" goto USAGE
 "%JAVA_HOME%\bin\javac" -Xlint -Xlint:-path -classpath ..;..\NicoCache_nl.jar %*
 goto :EOF
 :USAGE
 echo Usage: build Extension1.java [Extension2.java ...]
 

ExtensionsAutoBuild.batのソースコード


拡張機能コンパイルの自動化ツールです。

任意のタイミングでファイルをダブルクリックするだけでOKです。


@echo off
 "%JAVA_HOME%\bin\javac" -Xlint -Xlint:-path -classpath ..;%~dp0\NicoCache_nl.jar %~dp0\extensions\*.java
 Echo 「警告」は無視して問題ありません。気になるようであれば掲示板に報告してください
 Echo 「エラー」はコンパイル失敗です。解決してください
 pause
 

成功例と失敗例


成功例




このように、classファイルが作成されます。(或いはclassファイルの更新日時が新しくなります。)



失敗例




エラーが出て、classファイルは作成されません。(若しくはclassファイルの更新日時は変わりません。)

「警告」は無視しても大抵は問題ありません。 古いプログラミング形式で書かれている場合に警告が表示されるだけで実用上は問題ありません。



トラブルシューティング


javacというコマンドが見つからないと出るとき


→間違えてJDKではなくJREをインストールしたか、環境変数の設定が間違えています。

インストールを参考に再設定して下さい。
最終更新:2025年06月24日 01:07