Javaで実装されたJavaインタプリタをご存知ですか?

このQ&Aのポイント
  • Javaで書かれたプログラムの実行時にJavaのコードを文字列として取り込み実行できるAPIをどこかで見た気がしたのですが、紹介されていたサイトを忘れてしまい、発見できません。
  • サイトのニュアンスは、スタンドアロンのJavaアプリケーションまたはJavaAppletにテキストボックスがあり、そこにJava(Java scriptではない)コードを書いて、そのコードを実行(確か、オブジェクトの生成と数値計算をしていた)という感じでした。セキュリティを考慮してファイルアクセスなどを制限されるということも書いてありました。
  • 私の利用目的は、各種設定(型はまちまち)を集めたクラス(ツリー状に子クラスが定義してある)があり、そのクラスのフィールド(子クラスのフィールドも含む)をファイルから読み込んだパラメータで初期化するというものです。ファイルを読んでswitch等で場合分けをして、設定してやればいいのですが、煩雑さを考えると避けたいと思っています。
回答を見る
  • ベストアンサー

Javaで実装されたJavaインタプリタ知りませんか?

Javaで書かれたプログラムの実行時にJavaのコードを文字列として取り込み実行できるAPIをどこかで見た気がしたのですが、紹介されていたサイトを忘れてしまい、発見できません。どなたかご存知でしたら教えてください。 サイトのニュアンスは、スタンドアロンのJavaアプリケーションまたはJavaAppletにテキストボックスがあり、そこにJava(Java scriptではない)コードを書いて、そのコードを実行(確か、オブジェクトの生成と数値計算をしていた)という感じでした。セキュリティを考慮してファイルアクセスなどを制限されるということも書いてありました。 私の利用目的は、各種設定(型はまちまち)を集めたクラス(ツリー状に子クラスが定義してある)があり、そのクラスのフィールド(子クラスのフィールドも含む)をファイルから読み込んだパラメータで初期化するというものです。ファイルを読んでswitch等で場合分けをして、設定してやればいいのですが、煩雑さを考えると避けたいと思っています。 上記のAPIを用いれば a.b.c.d = "xxx"; e.f = x.x; g.h.i.j = new Font("DEFAULT", Font.ITALIC, 10); の様に書いたファイルをAPIにかましてやるだけで、とても便利になるはずなのです... 代替案も含めて、ご存知の方がいらっしゃれば、教えて頂けると助かります。

  • Java
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • edomin
  • ベストアンサー率32% (327/1003)
回答No.1

これは、どうでしょう? http://koala.ilog.fr/djava/

参考URL:
http://koala.ilog.fr/djava/
luckymako
質問者

お礼

使ってみたところ考えていた通りのことが実現できました。今後も様々なことで活用できそうです。 ずばりという回答をありがとうございました。

関連するQ&A

  • Javaインタプリタを探しています

    業務でJava言語でのソフト開発を使っています。 昔使っていたもので、コマンドラインからJavaソースが実行できるものがありました。 jarファイルが提供されていて、それを実行するとプロンプトが現れて、 そこにソースコードを入力すると1行ずつ解釈して実行してくれるものです。 >System.out.println("Hello"); Hello > というような感じです。 実際にはループやif文、import文なども解釈します。 以前勤めていた会社では愛用していましたが、会社が変わってしまい、 さらにはそのツールの名前自体忘れてしまいました。 教えてgooも探してそれらしいツールも見つけたのですが、 Java1.2用であり、現在使っているJava1.5では使えませんでした。 (DynamicJavaというものでした) このツールについて、ご存知の方、教えていただけますでしょうか。

    • ベストアンサー
    • Java
  • java.lang.outofmemoryerror java heap space

    java のクラスファイルをjarにして、実行する時、大きいなファイルを読むと、java.lang.outofmemoryerror java heap spaceのエラーが出できます。 どう解決すればいいですか。

    • ベストアンサー
    • Java
  • Javaの実行方法

    Java初心者です。環境:Windows Javaで開発したアプリケーションを実行するときに普通Dos窓で>java ABC として実行する以外に実行する方法はないのでしょうか? もちろんJavaAppletではありません。

  • "java" が実行できません("java.exe" は実行できる)

    先日 J2SDK 5.0 Update 6 をインストールした際、 この問題に遭遇しました。 PATH も CLASSPATH も正常に設定されています。 しかし、"java" が実行できません。 ところが、"java.exe" とすると実行できます。 これはいったいどういうことなのでしょうか? 以下にいくつかの実行例を載せます。 OS は Windows XP SP1 です。 [実行例] C:\>java [結果] 'java' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 となるのですが、.exe をつけると以下のように Usage が表示されます。 [実行例] C:\>java.exe [結果] Usage: java [-options] class [args...] (to execute a class) 以下、絶対パス指定した場合も同じ結果です。 [実行例] C:\java\jdk1.5.0_06\bin\java [結果] 'C:\java\jdk1.5.0_06\bin\java' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 [実行例] C:\java\jdk1.5.0_06\bin\java.exe [結果] Usage: java [-options] class [args...] (to execute a class)

  • Java コード教えてください。

    【Java】以下のコードを教えてください。 夕食のメニューを表示するプログラムの作成を行う。 以下の仕様を満たし、実行例のように 動作するSupperMenu.java、Supper.javaを作成しなさい。 [SupperMenu.java]  String型のフィールドmaindish (主食)(初期値は設定しない)、sidedish(副菜・スープ)(初期値は設定しない)を持つ。 いずれもクラス外からはアクセスできない。 2つのコンストラクタを持つ。 引数を持たないコンストラクタは、コンストラクタを実行した際にSupperMenuクラス のフィールドmaindishとsidedishにそれぞれ”ムニエル”と”スープ”を代入する。 クラス 外からアクセスできる。  String 型の仮引数 md と sd を持つコンストラクタは、コンストラクタを実行した際に SupperMenuクラスのフィールドmaindishとsidedishにそれぞれmdとsdの文字列を 代入する。 クラス外からアクセスできる。  引数も戻り値も持たないメソッドshowMenu()を持つ。 maindishとsidedishの情報を用いて 夕食のメニューの表示を行う。 クラス外からアクセスできる。 [Supper.java]  以下の内容を記述する。 1 class Supper{ 2 public static void main( String [] args ){ 3 SupperMenu sm1 = new SupperMenu(); 4 SupperMenu sm2 = new SupperMenu("ステーキ", "サラダ"); 5 sm1.showMenu(); 6 sm2.showMenu(); 7 } 8 }

  • シェルからJavaを起動したい

    シェルからJavaを起動したい 上記ですけど、Linuxで毎回「java パッケージ名.クラス名」を打つのは面倒なので、 シェルスクリプトのファイルを作って、それを実行するだけで起動できるようにしようと思っています。 が、クラスが見つからないってエラーが出て実行できませんでした。 (「java パッケージ名.クラス名」を実行しているディレクトリにシェルを作ってます) 恐らく環境変数などの設定がシェルの中にいるのではないかと思いますが、 シェルスクリプトとかLinuxの環境には疎い為、どういった記述が必要なのか解りません。 どなたか例を提示して頂けないでしょうか? ちなみに、一般的なJavaの環境変数や、 プロジェクト特有・jarファイル等の環境変数は設定済みです。 それから、シェルは以下のように記述してます。 #!/bin/sh java パッケージ名.クラス名 よろしくお願いします。

  • PHPのsystem()でjava

    いつも皆様、回答をありがとうございます。 PHPからsystem()でjavaを呼び出した時の動作について質問があります。 [現状] phpファイルで $system = "java TestHello"; system($system); とすると、結果のメッセージが出力されません。 TestHello.javaは public class TestHello { public static void main(String[] args) { System.out.println("Hello."); } } です。コマンドプロンプトからjava TestHelloとするとHello.と出力されます。 [質問] メッセージを出力させるためには何か設定が必要なのでしょうか? それともphpからjavaを呼び出すことはできないのでしょうか? [環境] windows XP home java 1.5.0_11 php 5.2.2 [その他 試したこと] ・linuxで試しましたが同じ結果でした。 ・system("java -verbose TestHello"); とするとクラス名などのデバッグ情報は出力されましたが、"Hello."は出力されませんでした。 ・ファイル生成をするjavaのコードをsystem()から実行しましたが、ファイルは生成されていませんでした。コマンドプロンプトから実行したところ、生成されていました。 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • JavaアプレットでJavaMailAPIを使用するときのエラーについて

    今Javaアプレットでメールを送信するプログラムを作成しているのですが、アプレットだけをappletviewerで実行するときはうまく起動するのに、htmlに埋め込むとアプレットの読み込みに失敗してしまいます。 htmlでは下のようにJavaApplet.classというクラスファイルを指定しているのですが、駄目でした。このhtmlファイルとclassファイルは同じディレクトリに配置しています。これは何が原因なのでしょうか? 使っているjdkのバージョンはjdk1.4.2.12です。 環境変数の設定はJAVA_HOMEにC:\jdk1.4.2_12、PATHにはC:\jdk1.4.2_12\binとしてあります。 よろしくお願いします。 <html> <head></head> <body> <p align = "center">試作</p> <p align = "left">E-mailの送信</p> <Applet code = "JavaApplet.class" width = 400 height = 300></Applet> </body> </html>

    • ベストアンサー
    • Java
  • javaアプリケーションをHTML上から実行する

    JAVAアプレットの場合は、HTML上で実行するときに 目的のクラスファイルを<applet>タグで囲んで実行しますが、 これがJavaアプリケーションの場合、HTML上から Javaアプリケーションを実行することは可能なのでしょうか? また可能な場合は、どのようにしてJavaアプリケーションを 実行すればよろしいのでしょうか?

    • ベストアンサー
    • Java
  • Java2Dの実行エラー(2)

    作成したJavaのソースをjavacでコンパイルを通し、 そのあとにjavaコマンドで実行を通したところ、 以下のようなエラーメッセージが出力され実行できませんでした。 (作成したクラスファイルは「EdgeDetection.class」です。) ------------------------------------------------- C:\TEMP>java -cp . EdgeDetection Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException at EdgeDetection.main(EdgeDetection.java:31) ------------------------------------------------- このエラーを解消するためにもクラスパスの設定(-classpathオプション)もしましたが、駄目でした。 この現象を解決するには、どのようにしたらよろしいのでしょうか?

    • ベストアンサー
    • Java