イフコンピュータ > MINERVA > 例題プログラム > MINERVAの特徴 > MinervaToJava_2

MinervaToJava_2

MINERVA
ifcomputer logo
f
Expert Services on the Web

MINERVA + Javaライブラリ (スタンドアローンアプリケーションの場合)

この例では以下を示します。

  • Javaプロパティ処理を使ってMINERVAを拡張する方法
  • MINERVAのライブラリパッケージを生成する方法
  • コンパイル方法および静的に拡張をリンクする方法
  • スタンドアローンとしての実行方法
  • セキュリティ例外の処理方法
  • 'catch/3'の使用方法
この拡張の宣言は、 property.mxtです。

この例はアプリケーションの場合で、アプレットの場合ではありません。

トップレベルのMINERVAソースプログラムは example2.min です。

詳細は、このディレクトリの'Compile', 'Go'他のファイルを参照して下さい。

質問・問題・コメントなどは mailto:support@ifcomputer.com までお知らせ下さい。

% MINERVA (c) IF Computer 1996,97 % http://www.ifcomputer.com/MINERVA mailto:support@ifcomputer.com

% PropertyExtension--------------------------------------------

java_predicates('java.util.Properties', [ create_properties = 'Properties', properties_getProperty = getProperty(string,string), properties_getProperty = getProperty(string), properties_propertyNames = propertyNames, system_getProperty = getProperty(string,string) ]).

java_predicates('java.lang.System', [ system_getProperty = getProperty(string), system_getProperties = getProperties ]).

% MINERVA (c) IF Computer 1996,97 % http://www.ifcomputer.com/MINERVA mailto:support@ifcomputer.com % file: example1.min

:- package(property).

main(Args) :- property(Args).

property(Args) :- write(Args),nl,flush_output, p(system_getProperties(_)), p(system_getProperty('my.parameter',unknownParam,_)), p(system_getProperty('java.version',_)), p(system_getProperty('java.vendor',_)), p(system_getProperty('java.vendor.url',_)), p(system_getProperty('java.home',_)), p(system_getProperty('java.class.version',_)), p(system_getProperty('java.class.path',_)), p(system_getProperty('os.name',_)), p(system_getProperty('os.arch',_)), p(system_getProperty('os.version',_)), p(system_getProperty('file.separator',_)), p(system_getProperty('path.separator',_)), p(system_getProperty('line.separator',_)), p(system_getProperty('user.name',_)), p(system_getProperty('user.home',_)), p(system_getProperty('user.dir',_)), !.

p(Goal) :- catch(Goal,AnyError,sorry(Goal,AnyError)), writeq(Goal), nl, flush_output, !.

sorry(Goal,AnyError) :- println(['Oooops: ', quoted(Goal)]), println(['caused: ', quoted(AnyError)]), flush_output.

#!/bin/sh # file Compile.sh, Compile

CLASSPATH=.:$MINERVA_HOME:$CLASSPATH export CLASSPATH

# without GUI

# produce the extended Minerva top level and single added class minervax -f MinervaProperty property mjavac MinervaProperty.java mjavac property.java

minervac example2

@echo off

set prevclp=%CLASSPATH% set CLASSPATH=%MINERVA_HOME%;%CLASSPATH%

rem produce the extended Minerva top level and single added class call minervax -f MinervaProperty property call mjavac MinervaProperty.java call mjavac property.java

call minervac example2

set CLASSPATH=%prevclp%

#!/bin/sh export CLASSPATH=.:$MINERVA_HOME:$CLASSPATH

mjava \ MinervaProperty \ -c $MINERVA_HOME/minerva.mca \ -l example2

@echo off set prevclp=%CLASSPATH% set CLASSPATH=%MINERVA_HOME%;%CLASSPATH% call mjava MinervaProperty -c %MINERVA_HOME%\minerva.mca -l example2 set CLASSPATH=%prevclp%

document: http://www.ifcomputer.co.jp/MINERVA/ExamplePrograms/MinervaFeatures/MinervaToJava_2/print_jp.html
published 2008/8/25 update 2001/3/22 (c) 1996-2006 IF Computer Japan
IF Computer 〒113-0022 Tel 03-5814-3352 start (AT) ifcomputer.com
Customer Support 東京都文京区千駄木5-28-2   http://www.ifcomputer.co.jp
戻る> managed with ubiCMS