PROGRAMMING
Java
- IntelliJ.Gradle.JavaFX(6) プラグイン org.beryx.jlink を使ってみる
- IntelliJ.Gradle.JavaFX(5) NSISでインストーラーを作る
- IntelliJ.Gradle.JavaFX(4) exewrapで実行可能jarをexe化する
- IntelliJ.Gradle.JavaFX(3) Jlink でカスタム JRE を作る
- IntelliJ.Gradle.JavaFX(2) すべての依存対象を含んだ Fatjar を作る
- IntelliJ.Gradle.JavaFX(1) アプリケーションを作る
- javaのコンパイルと実行
- イメージを回転する
- Exif情報を簡単に取得できるライブラリ
- 高画質で画像縮小
- JDBCによるデータベース操作
javascript
- ページャーを作る(簡易版)
- ページャーを作る 4/4
(クロスブラウザ対策)
(ページャー表示用メソッド)
(ページャーの使い方) - ページャーを作る 3/4
(イベント登録) - ページャーを作る 2/4
(スタイルの設定) - ページャーを作る 1/4
(ページャー用関数を準備)
(各要素を生成) - 自作カレンダーを作る 6/6
(11.~14.各種メソッド)
(15.簡単な使い方) - 自作カレンダーを作る 5/6
(09.祝休日の判定)
(10.閏年の判定) - 自作カレンダーを作る 4/6
(08.イベントの設定) - 自作カレンダーを作る 3/6
(07.スタイルの設定) - 自作カレンダーを作る 2/6
(05.カレンダーのマスのみ作成)
(06.各マスへ年月・日付を埋め込み) - 自作カレンダーを作る 1/6
(01.カレンダーの基を準備)
(02.各月の日数や年月日の区切り文字)
(03.前月・次月指定時の処理)
(04.前月・次月部分の年月を算出) - JS-Image-Resizerを使って画像を高画質で縮小
- ファイルを作成しローカルに保存
- モーダルウィンドウをクラス化
- ストップウォッチを作る
- XMLHttpRequest Lebel2を試してみる
- jQuery:Tableで親・子・兄弟要素を取得
- 文字列をセパレータ文字で分割し配列で返す関数
- forループのカウンタを使用している関数の定義
- クロージャの使いどころ
- JSONPでクロスドメイン
- AjaxでJSON形式のデータを扱う
- jsファイルからjsファイルを呼び出す
- jQuery:モーダルウィンドウを作ってみる
PHP
Kotlin
javaのコンパイルと実行
netbeansなどIDEを使っていると、javaのコンパイルや実行など意識することが無い。
そこでコマンドプロンプトでコンパイル・実行をやってみた。するとファイルにpackageがあると上手くいかない。
試行錯誤してようやくできたので、フォルダとファイルの位置関係などを忘れないように記録しておく。
javaのソースコード
C:\JavaSample\abc\App.java
package abc;
public class App {
public static void main( String[] args ) {
System.out.println( "Hello World!" );
}
}
コマンドプロンプトでコンパイル
当然だがJDKにはシステム環境変数pathを設定しておく。
javacでコンパイルする。
C:\JavaSample\abc>javac App.java
コンパイルされたApp.classがソースファイルと同じabc(package)フォルダにできる。
コンパイル済のclassファイルを実行する
実行はjavaコマンドにクラス名を指定する。拡張子classは付けない。
C:\JavaSample\abc>java App
エラー:メイン・クラスAppが見つからなかったかロードできませんでした
実行してもエラーがでる。
これがどうもわからなかった。
いろいろネットを検索したら、ソースにpackage指定がある場合はpackage.クラス名で実行するらしい。
そこでcdコマンドでひとつ上の階層に移り実行することになる。
C:\JavaSample\abc>cd ..
C:\JavaSample>java abc.App
Hello World!
実行に成功し「Hello World!」が出力された。
jarファイルの作成
jarは単独または複数のクラスファイルなどを圧縮ファイル(zip)化したもので、アプリケーションの配布などが容易になる。
jarの作成はjarコマンドを利用する。
jarには複数のクラスが含まれる(場合が多い)ので、どのクラスのmainメソッドからスタートするのかをマニフェストファイル(MANIFEST.MF)で教えることになる。
そのマニフェストファイルは、jarコマンドでjarファイル作成時に自動的にjarファイルの中のMETA-INFフォルダに作成される。
そのマニフェストファイルの Main-Class にメイン・クラスを指定することで時javaコマンドはjarを実行できる。
メイン・クラスの指定はマニフェストファイルの Main-Class を書き換えて行うので(別な方法もある)書き換え用のテキストファイルを作成する。
テキストファイルはpackage(abc)と同じ階層に置く。ファイル名はとりあえずmanifest.txtとした。
C:\JavaSample\manifest.txt
mamifest.txtの中身は次の一行だけ。
Main-Class: abc.App↲
Main-Class: のクラス名には、package(abc)があるのでクラス名の前にpackage名abcを付けなければならない。
また、Main-Class:とabc.Appの間は半角スペース1文字を必ずいれる。また行の最後には改行がなければならない。
jarのオプションには
-c 圧縮ファイルの新規作成
-v コマンドラインに処理内容を表示
-f jarファイル名の指定
-m マニフェストファイルの内容を指定
などがある。
実行してみる。
C:\JavaSample>jar -cvfm App.jar manifest.txt abc\*.class
マニフェストが追加されました
abc/App.classを追加中です(入=416)(出=290)(30%収縮されました)
テキストファイルと同じフォルダにApp.jarができる。
jarファイルを解凍し、マニフェストファイル(MANIFEST.MF)を除いてみると
Manifest-Version: 1.0↲
Created-By: 1.8.0_73 (Oracle Corporation)↲
Main-Class: abc.App↲
このようになっていた。
各項目と項目値の間は半角スペース1文字が入っている。また行の最後には改行がある。
jarを実行してみる
C:\JavaSample>java -jar App.jar
Hello World!
「Hello World!」が出力された。
今回はクラスファイルがひとつだけだが、そのうち複数のクラスファイルで試してみよう。
ここまでのようなことをする必要がないIDEは便利だなあ。