Oracle LinuxでのJava(JDK)実行時にjavax.transaction.SystemExceptionクラスが見つからないエラーが発生する

このQ&Aのポイント
  • Windows8のPCにVirtualBoxをインストールし、Oracle Linuxを動かしています。しかし、javax.transaction.SystemExceptionクラスが見つからないというエラーが発生しています。
  • 環境変数JAVA_HOMEの配下のjarファイルを調査しても、javax.transaction.SystemExceptionクラスが見つかりません。
  • VirtualBox用のOracle Linuxは既に必要なソフトウェアがインストールされており、特に環境設定は行っていません。解決策を教えてください。
回答を見る
  • ベストアンサー

Oracle LinuxのJava(JDK)

Windows8のPCにVirtualBox(Oracle VM)を入れて、 VM上でOracle Linuxを動かしています。 そこにHibernate(※)を入れて、OracleDBへレコードのインサートを やろうとしていました。 動かしてみたところ、 javax.transaction.SystemExceptionクラスが見つからない事象が起きます。 (画像参照) 環境変数JAVA_HOME(/apps/jdk/jdk1.7.0_71) の配下の一連のサブフォルダ下のjarファイル等の中を見ても、 上記のクラスが見当たりません。 このVirtualBox用のOracle Linuxは、VirtualBoxで起動すれば、 既にインストール済みのJavaやOracle12、WebLogicServerが 使える状態であがってくる環境なので、こちらでインストールやら 環境設定などは特に行なっていないものになります。 そこで、素人な質問で大変恐縮ですが、 javax.transaction.SystemExceptionクラスが見つからないのは、 何がいけないのでしょうか? 私の探してる場所が違う(足りない)のでしょうか? 他にインストールすべきものがあるのでしょうか? 使用しているJavaのバージョンがいけないのでしょうか? そして、解決方法がわかれば御教示お願いします。 [仮想環境] OS:Red Hat Enterprise Linux Server release 6.6(Santiago) Linux edqtrn 3.18.6-3.18.y.20150210.ol6.x86_64 java version "1.7.0_71" Hibernate-release 5.0.1.Final ※Hibernate http://www.techscore.com/tech/Java/Others/Hibernate/index/

  • Java
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
noname#247307
noname#247307
回答No.2

JDKしかインストールしてないのですよね? おそらくですが、JTA(Java Transaction API)が抜けているのでは。WebLogicServerにデフォルトで入ってないんでしょうきっと。 Hibernateは、基本的にサーバー開発で使うものであり、Java EEのAPIを必要とすることがあります。開発はMavenベースですか? ならば、pomにこんな具合に追記すればいいでしょう。 <dependency> <groupId>javax.transaction</groupId> <artifactId>jta</artifactId> <version>1.1</version> </dependency> </dependencies> Mavenを使ってない場合は、http://mvnrepository.com/artifact/javax.transaction/jta/1.1 から直接ダウンロードできます。 また検索したところ、WebLogicServerの場合はExtensionが用意されているようですね。ざっとしか見てないんですが、下アドレスにドキュメントがありました。参考になれば。 http://docs.oracle.com/cd/E24329_01/web.1211/e24377/jtaapi.htm#WLJTA213

kxinf11
質問者

お礼

回答ありがとうございます。 すみません。Hibernateのパッケージ中のlibにJTA等のjarが含まれていることがわかりました。それらを全て、classpathに含めることで解決しました。 ちなみにWebLogicServerは使わずに、単純にJavaのバッチプログラムでHibernateを取り込んで組んでいます。 Mavenも使用しておりません。 ありがとうございました。

その他の回答 (1)

noname#212058
noname#212058
回答No.1

Oracle に接続するための JDBCドライバを環境に置いていないのでは。

kxinf11
質問者

お礼

回答ありがとうございます。 Hibernateを使用せず、直接JDBCのAPIを使用してのOracleへの接続は できており、JDBCドライバ自体は動作しております。 ありがとうございました。

関連するQ&A

  • javaが起動できない

    初めまして、JAVAの勉強のために環境つくりをしていますが、いきずまって質問しました。 現在VM PlayerにLinux8をいれてAPサーバとしてTomcat、JDKインストール後、JAVAの動作確認「java -version」をすると 「cannot handle file '/usr/java/jdk1.7.0/jre/lib/i386/client/libjvm.so' with TLS data」と怒られます。 そのため、tomcatも起動できず困っています。 どなたか、原因がわかる方がいればご教授お願いします。 【環境】 OS:WindowsXP VM:VMware(R) Player 3.1.4 build-385536    ・Red Hat Linux release 8.0 (Psyche) ・jdk-7-linux-i586.rpm    ・apache-tomcat-7.0.20.tar.gz

  • linuxでjavaがうまく動きません。

    linuxでjavaがうまく動きません。 Linux初心者です。JAVAを勉強しなければならなくなりました。SUSE Linuxです。マシンは自作のようですが、先輩が作ったものなのでよく分かりません。 まず、JDKをインストールしました。すると、パソコンを起動する時に「64ビットのマシンに32ビットのソフトウェアが入っています」というようなメッセージが表示されるようになってしまいました。これはJDKのせいだと思ったので、一度削除して64ビットのJDKと書いてあるソフトをもう一度インストールしました。(しかし、したつもりでしたがこれはできていませんでした) すると、JAVAが動かなくなってしまいました。 よく調べたところ、64ビットのJDKは32ビットのJDKをインストールした上でインストールしなければいけなかったということでした。 そこで、もう一度32ビットのJDK(jdk-6u22-linux-i586.bin)をダウンロードして実行し、64ビットのJDK(jdk-6u22-linux-x64.bin)を実行しました。 それから、「.bash_profile」のファイルに PATH=$PATH:$HOME/bin:usr/local/jdk1.6.0_22/bin JAVA_HOME=/usr/local/jdk1.6.0_22 export JAVA_HOME export PATH と書き込みました。 しかし、「javac」と入力するとコマンドがないと言われます。「java -version」と入力すると「"1.5.0_20"」と表示されます。多分「"1.6.0_22"」とか表示されないといけないのかな、と思ったので、前にインストールしたものが残っているのかと探してみましたが、いろんなサイトを参照しながらインストールしたので見つかりません。(というか、インストールしたものは全部アンインストールしたつもりでした) JAVAが動くようにするにはどうしたらいいのでしょうか?

  • JAVAのJDK6/7の切り替え

    64ビットのWindows8のマシンにjdk-6u21-windows-x64.exeとjdk-7u45-windows-x64.exeの2つ をインストールした状態で、環境変数で、 JAVA_HOME6 : C:\Program Files\Java\jdk1.6.0_21 JAVA_HOME7 : C:\Program Files\Java\jdk1.7.0_45 JAVA_HOME : %JAVA_HOME6% PATH : %JAVA_HOME%\bin; のようにして6と7を切り替えられるようにして使いたいのですが、現在上記の設定で、 >path を実行すると6のパスを指しているのですが、 >java -version を実行すると常に7を表示します。 この状態で、コマンドプロンプトからコマンドを実行したり、Eclipseを立ち上げた場合、実際 どちらのものが使われることになるのでしょうか? また、ひとつのマシンで上記のようにJavaを切り替えて使うことは可能なのでしょうか?

    • ベストアンサー
    • Java
  • jdkのインストール linux

    jdkをLinux上にインストールしようとしています。 まず、圧縮ファイル「jdk-7u4-linux-i586.tar.gz」をダウンロードしてきました。 この圧縮ファイルを自分で作ったディレクトリ「/usr/java」配下に解凍し、 「/usr/java」配下に「jdk1.7.0_04」というディレクトリができました。 次が問題なのですが、この解凍してできたもの「jdk1.7.0_04」をインストールするにはどうしたら よいのでしょうか?

    • ベストアンサー
    • Java
  • JAVA jdkのインストールしたのですが実行できません

    jdkをインストールしたのですが、コマンドプロンプトでコンパイルと実行が出来ません。 画面には、『Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object』 となります。 一応、環境変数(マイコンピューターからプロパティに入り設定)のPATHに;C:\Program Files\Java\jdk1.5.0\binを入力しました。 自分は初心者なので、よく分からない形で図々しい質問になってしまい申しわけありませんがよろしくお願いいたします。 また、Javaファイルの保存先はbinに保存でいいのでしょうか? 他の場所にファイルを保存して出来ないでしょうか?申し訳ありませんが、よろしくお願いいたします。

  • 複数のJDKを同一マシンに共存させたい

    複数のJDKを同一マシンに共存させたいのですが、方法がわかりません。 [インストールしているマシンの環境] OS:WindowsXP Professional JDK: 1つ目)C:\jdk1.3.1_04 2つ目)C:\j2sdk1.4.2 ちなみに、環境変数を切り替えてみたのですが、上手くいきませんでした。 具体的には、環境変数:JAVA_HOMEを「C:\jdk1.3.1_04」と「C:\j2sdk1.4.2」に切り替えてから「java -versionコマンド」で確認してみましたが、どちらの場合も以下の結果になってしまいます。 どうすればいいのかわかりません。 よろしくお願いします。 >java -version java version "1.3.1_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01) Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)

    • ベストアンサー
    • Java
  • LinuxへのJDKインストールについて

    書籍のCDからインストール作業をしています。 指示に従って指定ファイルからインストーラを起動しました。 ・インストール作業 /media/cdrom/Linux/jdk-6ul-L\linux-i586.bin ・環境変数設定 .bash_profileの変更 ・source ~/.bash_profileの実行 インストールはされているようなのですが、その次のJDK6の動作確認 java -version を行うと以下のようなエラーメッセージが帰ってきました。 [usr@localhost ~]# [usr@localhost ~]# java -version dl failure on line 685Error: failed /usr/local/jdk1.6.0_01/jre/lib/i386/client/libjvm.so, because /usr/local/jdk1.6.0_01/jre/lib/i386/client/libjvm.so: cannot restore segment prot after reloc: Permission denied [root@suzuran ~]# 対処方法につきましてご教示お願い申し上げます。

    • ベストアンサー
    • Java
  • JDK1.1 ? JDK1.2 ?

    はじめまして。JAVA初心者です。初歩入門書を購入したのですが、内容の中に対応バージョン「本書に登場するプログラムは、Windows版のJDK1.1およびJDK1.2(Java2)で動作確認しました。」とあり最初の環境説明がなく困っています。 JAVAをプログラミングするにあたり、何かをインストールしなければいけないのでしょうか? それと、一般的にSEの方はどのエディタを使用しているのでしょうか? 初心者的内容で申し訳ありませんがご回答お願いします。

  • linuxにJAVAがインストールできません

    linux初心者です。 以下のサイトを参考にjavaインストールをしようと思ったのですが、 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ http://codezine.jp/article/detail/1744?p=1 wget java_ee_sdk-5_07-jdk-6u16-linux.bin http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/java_ee_sdk-5_07-jdk-6u16-linux.bin?BundledLineItemUUID=KohIBe.lxhkAAAEkb2kyc6AQ&OrderID=nwtIBe.lxjAAAAEkYWkyc6AQ&ProductID=AcVIBe.nU6oAAAEjhhpuoDTb&FileName=/java_ee_sdk-5_07-jdk-6u16-linux.bin を実行すると、 `java_ee_sdk-5_07-jdk-6u16-linux.bin?AuthParam=1256816067_a8efbfd2d292c375013d9a70eebcb5b4&TicketId=B%2Fw6lx2IT1NLQBVCPVJSkg%2Fl&GroupName=CDS&FilePath=%2FESD6%2FJSCDL%2Fjava_ee_sdk%2F5u7-6u16-ml%2Fjava_ee_sdk-5_07-jdk-6u16-linux.bin&File=java_ee_sdk-5_07-jdk-6u16-linux.bin' (ファイル名が長すぎます)へ書き込めません。 と表示されます。 最新版のインストールをしたいのでyum以外でインストールしたいのですが、他に方法はありますでしょうか。

  • linux firefox java

    linux環境でfirefoxを使っているのですが、java appletなどが表示されません。 プラグインを設定しようと思い、以下のようにしました。 ・javaのプラグインのファイルへのシンボリックリンクをつくる $cd /usr/lib/mozilla/plugins $ln -s /usr/java/jdk1.7.0_04/jre/plugin/i386/ns7/libjavaplugin_oji.so これ以外に方法が見当たらず、困っています。 どうしたら、firefoxのプラグインにjavaを入れることができますか?

専門家に質問してみよう