jruby+jrubyfxで作成したアプリケーションをパッケージ化する→断念
やりたいこと
jruby+javafxで作成した本当に簡単なアプリケーションをMacやWindowsから簡単に実行できるように.appファイル、.exeファイルにパッケージ化したい。
環境
ruby環境はrbenvで環境構築
$ rbenv versions
system
2.0.0-p353
* jruby-1.7.10 (set by /Users/HOGE/Develop/IdeWorkspace/NetBeans7.4/picture-arrangement/.ruby-version)
system$ rbenv gemset active
.gems global
Rawerのインストール
$ gem install rawr --source http://gems.neurogami.com
Fetching: xml-simple-1.1.3.gem (100%)
Successfully installed xml-simple-1.1.3
Fetching: hoe-3.12.0.gem (100%)
Successfully installed hoe-3.12.0
Fetching: s4t-utils-1.0.4.gem (100%)
Successfully installed s4t-utils-1.0.4
Fetching: builder-3.2.2.gem (100%)
Successfully installed builder-3.2.2
Fetching: user-choices-1.1.6.1.gem (100%)
Successfully installed user-choices-1.1.6.1
Fetching: rubyzip-1.1.4.gem (100%)
Successfully installed rubyzip-1.1.4
Fetching: rawr-1.7.0.gem (100%)
Successfully installed rawr-1.7.0
7 gems installed
Rawrセットアップ
$ rawr install
Running in jruby 1.7.10 (1.9.3p392) [darwin-x86_64]
Create rawr files using {:wordy=>false,
:class=>"org.monkeybars.rawr.Main",
:directory=>"src",
:build_config_file=>"build_configuration.rb",
:local_jruby_jar=>nil,
:no_config=>"false",
:show_version=>false,
:no_download=>"false",
:no_jar=>"false",
gemライブラリの保存
$ bundle install --path lib/ruby/
Fetching gem metadata from https://rubygems.org/..........
Fetching additional metadata from https://rubygems.org/..
Installing coderay (1.1.0)
Installing exifr (1.1.3)
Installing ffi (1.9.3)
Installing jrubyfx-fxmlloader (0.3)
Installing jrubyfx (1.1.0)
Installing method_source (0.8.2)
Installing slop (3.5.0)
Installing spoon (0.0.4)
Installing pry (0.9.12.6)
Using bundler (1.5.3)
Your bundle is complete!
It was installed into ./lib/ruby
build_configuration.rbの編集
$ vim build_configuration.rb
.....
c.source_dirs = ["src", "lib/ruby"]
パッケージの作成(jar)
$ jruby -S rake rawr:jar /Users/Hoge/Develop/IdeWorkspace/NetBeans7.4/picture-arrangement/.gems/gems/rawr-1.7.0/lib/zip/zip.rb:28: Use RbConfig instead of obsolete and deprecated Config. mkdir -p package/classes/java ..... @verbose = false === Creating jar file: package/jar/picture-arrangement.jar cp lib/java/jruby-complete.jar package/jar/lib/java/jruby-complete.jar
パッケージの実行
$ java -jar package/jar/picture-arrangement.jar Add 'src/' to $: Add 'lib/ruby/jruby/1.9/bin/' to $: Exception in thread "main" org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- jrubyfx at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1054) .....
あれやこれや色々試して見たが、lib/rubyに保存したgemファイルを参照してくれない。build_configuration.rbに"/lib/ruby"を設定したが。。。何が悪いか。。。わからない。
MacにEclipseをインストールして日本語化する
はじめに
エディタはvi(emacs)です。と自信をもって宣言できるほどvi使いでも無いので、やはりちょっと規模の大きなソースを見たり、クラス図作ったりする際に、Eclipseが欲しくなる。Macには日本語環境でそれなりに必要なプラグインがインストールされたpleiadesが存在しないようなので、簡単に手順をまとめる。
環境
OS | OSX 10.9 |
Eclipse | 4.3 |
ダウンロードとインストール
http://www.eclipse.org/downloads/ よりMac版のEclipseをダウンロードする。ファイルはtarファイルなので解凍すると、eclipseディレクトリが作成される。今回はStandard版をダウンロード。 解凍したeclipseディレクトリをユーザディレクトリ内のApplicationsディレクトリにコピーする。コピーすると、LaunchPadにアイコンが作成される。Eclipseを複数バージョンインストールすることも考慮し、ディレクトリ名をeclipse4.3にリネームし、LaunchPadにも4.3が表示されるよう、ショートカットの名前を変更した。
$ pwd /Users/name/Applications/eclipse4.3
$ ls -l
total 304
drwxr-xr-x@ 3 name staff 102 9 19 17:44 Eclipse4.3.app
初回起動
初回起動時、Javaランタイムのインストールを促すメッセージが表示される場合がある。eclipseはJavaランタイムが無いと、動作しないので、インストールを行う。 また、「開発元が未確認のため開けません。」とメッセージが表示され多場合は、システム設定>セキュリティとプライバシーを開き、「[アプリケーション名]は、開発元を確認.....」の「このまま開く」をクリックし、起動を許可する。
eclipseを日本語化する。 http://mergedoc.sourceforge.jp/index.html#/pleiades.html よりpleiadesをダウンロードする。本文書作成時の最新は1.4。 ダウンロードしたファイルを解凍し(自動的に解凍される)、以下の2個のフォルダをeclipse本体のフォルダにコピーする。 ・featuresフォルダを、eclipse本体のfeaturesフォルダにコピーする。 ・pluginsフォルダを、eclipse本体のpluginsフォルダにコピーする。 eclipse.iniを編集する。Macの場合、Finderなどではこのファイルを見つけることができない?難しい? /Users/name/Applications/eclipse4.3は一見ファイルのようだが、実はディレクトリ。この中をたどっていくと、以下のパスにeclipse.iniが存在する。 /Users/name/Applications/eclipse4.3/Eclipse4.3.app/Contents/MacOS eclipse.iniに以下の記述を追加する。
$ vim eclipse.ini
-javaagent:../../../plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar
上記設定後、eclipseを起動すると、日本語が有効となる。
カラムの表示文字数を設定する
SQL*Plusでデータ表示を行うと、以下のように意図しないところ改行が入り、内容を確認しづらい。
SQL> select host_name, instance_name, status from v$instance;
HOST_NAME
----------------------------------------------------------------
INSTANCE_NAME STATUS
---------------- ------------
oracle-sv01.localdomain
orcl OPEN
COLUMN カラム名 FORMAT a文字数 を指定することで、カラムに表示する文字数を設定できる。
SQL> column host_name format a25;
SQL> select host_name, instance_name, status from v$instance;
HOST_NAME INSTANCE_NAME STATUS
------------------------- ---------------- ------------
oracle-sv01.localdomain orcl OPEN
Oracleデータベースの起動について
Oracleデータベースの起動について
停止しているOracleデータベースを起動する。
Oracleデータベースの状態には以下の3つの状態が存在する。
ステータス | 説明 |
---|---|
NOMOUNT | パラメータファイルが参照され、メモリ確保やプロセスが開始され、インスタンスが起動した状態。 |
MOUNT | パラメータファイルで指定されたコントロールファイルがオープンした状態。コントロールファイル以外のデータファイルはマウントおよびオープンしない。 |
OPEN | コントロールファイルの情報から、データファイルやログファイルがオープンされた状態。通常の稼働状態で、ユーザがデータベースを利用できる状態。 |
sqlplusからsysdba権限でデータベースに接続。
$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 土 11月 2 19:19:58 2013
Copyright (c) 1982, 2009, Oracle. All rights reserved.
アイドル・インスタンスに接続しました。
"nomount"で起動する。
SQL> startup nomount
Total System Global Area 839282688 bytes
Fixed Size 2217992 bytes
Variable Size 557844472 bytes
Database Buffers 276824064 bytes
Redo Buffers 2396160 bytes
SQL> select host_name, instance_name, status from v$instance;
HOST_NAME INSTA STATUS
------------------------- ----- ----------
oracle-sv01.localdomain orcl STARTED
"mount"状態に変更する。
SQL> alter database mount;
データベースが変更されました。
SQL> select host_name, instance_name, status from v$instance;
HOST_NAME INSTA STATUS
------------------------- ----- ----------
oracle-sv01.localdomain orcl MOUNTED
"open"状態に変更する。
SQL> alter database open;
データベースが変更されました。
SQL> select host_name, instance_name, status from v$instance;
HOST_NAME INSTA STATUS
------------------------- ----- ----------
oracle-sv01.localdomain orcl OPEN
Oracle EnterpriseManagerの起動
Oracle11gではOracle Enterprise ManagerというWebベースのデータベース管理インテーフェイスが準備されている。EMを利用するには、データベースサーバでEMを起動する必要がある。
EMのステータス
$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
https://oracle-sv01.localdomain:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is not running.
EMを起動
$ emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
https://oracle-sv01.localdomain:1158/em/console/aboutApplication
Starting Oracle Enterprise Manager 11g Database Control ............ started.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0/dbhome_1/oracle-sv01.localdomain_orcl/sysman/log
ブラウザでのアクセス
ブラウザでhttps://192.168.1.55:1158/emにアクセス。デフォルトではsystemやsysユーザでアクセスできる。