持続性ユニット名が見つからない:Javaアプリケーション:Netbeans6.5.1

View: New views
3 Messages — Rating Filter:   Alert me  

持続性ユニット名が見つからない:Javaアプリケーション:Netbeans6.5.1

by superdiskuser :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

始めまして。さっそく質問をさせていただきます。

Javaアプリケーションを作成し、JPAを利用してMySQLのテーブルを操作しようとしています。
プログラムをNetbeansで実行すると動作します。
コマンドプロンプトを利用してdistフォルダにてjava -jarコマンドを利用しても実行できます。

問題は、distフォルダを別階層にコピーし実行した時、持続性ユニット名が見つからないという理由で
createEntityManagerFactoryからnullが返されてしまいます。
○ 移動元:C:\Documents and Settings\ユーザー名\My Documents\NetBeansProjects\JWorkZero\dist
× 移動先:C:\Documents and Settings\ユーザー名\デスクトップ\dist

アプリ.jarを解凍してみたら、META-INFフォルダの中には、persistence.xmlは存在しています。
また、distフォルダと同じ階層にあるlibフォルダには、
mysql-connector-java-5.1.6-bin.jar
toplink-essentials.jar
toplink-essentials-agent.jar
が存在しています。

原因が解明できず苦しんでおります。
どなたかアドバイスをお願い致します。

環境
OS:windows xp sp3
JAVA:1.6.0_3-b03
Netbeans:6.5.1
MYSQLServer5.1
java
ファイヤーウォール機能はオフ

MANIFEST.MF
******************
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 11.3-b02 (Sun Microsystems Inc.)
Main-Class: jworkzero.Main
Class-Path: lib/toplink-essentials.jar lib/toplink-essentials-agent.ja
 r lib/mysql-connector-java-5.1.6-bin.jar lib/mail.jar
X-COMMENT: Main-Class will be added automatically by build
***************

persistence.xml
****************
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
  <persistence-unit name="JWorkZeroAdminPU" transaction-type="RESOURCE_LOCAL">
    <provider>oracle.toplink.essentials.PersistenceProvider</provider>
    <class>XXXXXXXXX</class>
    <class>XXXXXXXX</class>
    <properties>
      <property name="toplink.jdbc.user" value="admin"/>
      <property name="toplink.jdbc.password" value="XXXXXX"/>
      <property name="toplink.jdbc.url" value="jdbc:mysql://172.XXX.XXX.XX:3306/jwork"/>
      <property name="toplink.jdbc.driver" value="com.mysql.jdbc.Driver"/>
    </properties>
  </persistence-unit>
</persistence>
*************

RE: 持続性ユニット名が見つからない:Javaアプリケーション:Netbeans6.5.1

by happy ryo :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message



happy_ryoです。

もしかすると、NetBeansとは
こちらの問題では無いかと思い返信しました。

http://d.hatena.ne.jp/happy_ryo/20080711

詳細は上記のエントリ内にありますが
TopLink側の問題で
パスの中に、「2バイト文字」や「スペース」が含まれると
うまく動作しないようです。

別の問題でしたら申し訳有りませんorz


//////////////////////////////////////////////////////////////////////////////////////////////////////////

java-ja
ja.netbeans.org

岩間 亮
(id:happy_ryo)

blog:http://d.hatena.ne.jp/happy_ryo/

参加プロジェクト

NetBeans日本語コミュニティ:http://wiki.netbeans.org/JaNetBeans
Jiemamy(データベースリファクタリング):http://www.jiemamy.org/
S2Config(設定情報管理):http://s2config.sandbox.seasar.org/
Fisshplate(Excelテンプレート):http://fisshplate.sandbox.seasar.org/

//////////////////////////////////////////////////////////////////////////////////////////////////////////

> Date: Tue, 30 Jun 2009 04:47:02 -0700
> From: neotamako@...
> To: nbdiscuss_ja@...
> Subject: [nbdiscuss_ja] 持続性ユニット名が見つからない:Javaアプリケーション:Netbeans6.5.1
>
>
> 始めまして。さっそく質問をさせていただきます。
>
> Javaアプリケーションを作成し、JPAを利用してMySQLのテーブルを操作しようとしています。
> プログラムをNetbeansで実行すると動作します。
> コマンドプロンプトを利用してdistフォルダにてjava -jarコマンドを利用しても実行できます。
>
> 問題は、distフォルダを別階層にコピーし実行した時、持続性ユニット名が見つからないという理由で
> createEntityManagerFactoryからnullが返されてしまいます。
> ○ 移動元:C:\Documents and Settings\ユーザー名\My
> Documents\NetBeansProjects\JWorkZero\dist
> × 移動先:C:\Documents and Settings\ユーザー名\デスクトップ\dist
>
> アプリ.jarを解凍してみたら、META-INFフォルダの中には、persistence.xmlは存在しています。
> また、distフォルダと同じ階層にあるlibフォルダには、
> mysql-connector-java-5.1.6-bin.jar
> toplink-essentials.jar
> toplink-essentials-agent.jar
> が存在しています。
>
> 原因が解明できず苦しんでおります。
> どなたかアドバイスをお願い致します。
>
> 環境
> OS:windows xp sp3
> JAVA:1.6.0_3-b03
> Netbeans:6.5.1
> MYSQLServer5.1
> java
> ファイヤーウォール機能はオフ
>
> MANIFEST.MF
> ******************
> Manifest-Version: 1.0
> Ant-Version: Apache Ant 1.7.1
> Created-By: 11.3-b02 (Sun Microsystems Inc.)
> Main-Class: jworkzero.Main
> Class-Path: lib/toplink-essentials.jar lib/toplink-essentials-agent.ja
>  r lib/mysql-connector-java-5.1.6-bin.jar lib/mail.jar
> X-COMMENT: Main-Class will be added automatically by build
> ***************
>
> persistence.xml
> ****************
>
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
>    transaction-type="RESOURCE_LOCAL">
>     oracle.toplink.essentials.PersistenceProvider
>     XXXXXXXXX
>     XXXXXXXX
>    
>      
>      
>        value="jdbc:mysql://172.XXX.XXX.XX:3306/jwork"/>
>      
>    
>  
>
> *************
> --
> View this message in context: http://www.nabble.com/%E6%8C%81%E7%B6%9A%E6%80%A7%E3%83%A6%E3%83%8B%E3%83%83%E3%83%88%E5%90%8D%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%89%E3%81%AA%E3%81%84%3AJava%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%3ANetbeans6.5.1-tp24270469p24270469.html
> Sent from the NetBeans - Japanese Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@...
> For additional commands, e-mail: nbdiscuss_ja-help@...
>

_________________________________________________________________
便利!ケータイへのHotmailアラートはこちら
http://clk.atdmt.com/GBL/go/153791840/direct/01/

---------------------------------------------------------------------
To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@...
For additional commands, e-mail: nbdiscuss_ja-help@...


RE: 持続性ユニット名が見つからない:Javaアプリケーション:Netbeans6.5.1

by superdiskuser :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

happy_ryoさん、アドバイス有難うございました。(ポストするフォーラムを間違えてしまい、すいませんでした)

ご指示に従い調査したところ、以下が確認できました。
「2バイト文字(日本語)」がパスに含まれると持続性ユニットを発見してもらえない
× 例:C:\テスト\dist

「スペース」がパスに含まれた場合は、持続性ユニットを見つけてくれる。
○ 例1:C:\Document and Settings\dist
○ 例2:M:\NCPP CSG\test\dist

配布方法を検討することで、問題解決できそうです。
有難うございました。

余談ですが、
Windowsユーザーがクライアントの場合、2バイト文字が使われたパス名がいたるところにあるので、jarアプリケーション単体にJPAを含ませるのではなく、アプリケーションサーバにデータベース処理をまかせる方法が無難なのかとも考えました。

個人的に一番助かるのは、「2バイト文字」がパスに含まれていても持続性ユニットを認識してくれるということなのですが・・。


happy ryo wrote:

happy_ryoです。

もしかすると、NetBeansとは
こちらの問題では無いかと思い返信しました。

http://d.hatena.ne.jp/happy_ryo/20080711

詳細は上記のエントリ内にありますが
TopLink側の問題で
パスの中に、「2バイト文字」や「スペース」が含まれると
うまく動作しないようです。

別の問題でしたら申し訳有りませんorz


//////////////////////////////////////////////////////////////////////////////////////////////////////////

java-ja
ja.netbeans.org

岩間 亮
(id:happy_ryo)

blog:http://d.hatena.ne.jp/happy_ryo/

参加プロジェクト

NetBeans日本語コミュニティ:http://wiki.netbeans.org/JaNetBeans
Jiemamy(データベースリファクタリング):http://www.jiemamy.org/
S2Config(設定情報管理):http://s2config.sandbox.seasar.org/
Fisshplate(Excelテンプレート):http://fisshplate.sandbox.seasar.org/

//////////////////////////////////////////////////////////////////////////////////////////////////////////
> Date: Tue, 30 Jun 2009 04:47:02 -0700
> From: neotamako@hotmail.com
> To: nbdiscuss_ja@netbeans.org
> Subject: [nbdiscuss_ja] 持続性ユニット名が見つからない:Javaアプリケーション:Netbeans6.5.1
>
>
> 始めまして。さっそく質問をさせていただきます。
>
> Javaアプリケーションを作成し、JPAを利用してMySQLのテーブルを操作しようとしています。
> プログラムをNetbeansで実行すると動作します。
> コマンドプロンプトを利用してdistフォルダにてjava -jarコマンドを利用しても実行できます。
>
> 問題は、distフォルダを別階層にコピーし実行した時、持続性ユニット名が見つからないという理由で
> createEntityManagerFactoryからnullが返されてしまいます。
> ○ 移動元:C:\Documents and Settings\ユーザー名\My
> Documents\NetBeansProjects\JWorkZero\dist
> × 移動先:C:\Documents and Settings\ユーザー名\デスクトップ\dist
>
> アプリ.jarを解凍してみたら、META-INFフォルダの中には、persistence.xmlは存在しています。
> また、distフォルダと同じ階層にあるlibフォルダには、
> mysql-connector-java-5.1.6-bin.jar
> toplink-essentials.jar
> toplink-essentials-agent.jar
> が存在しています。
>
> 原因が解明できず苦しんでおります。
> どなたかアドバイスをお願い致します。
>
> 環境
> OS:windows xp sp3
> JAVA:1.6.0_3-b03
> Netbeans:6.5.1
> MYSQLServer5.1
> java
> ファイヤーウォール機能はオフ
>
> MANIFEST.MF
> ******************
> Manifest-Version: 1.0
> Ant-Version: Apache Ant 1.7.1
> Created-By: 11.3-b02 (Sun Microsystems Inc.)
> Main-Class: jworkzero.Main
> Class-Path: lib/toplink-essentials.jar lib/toplink-essentials-agent.ja
>  r lib/mysql-connector-java-5.1.6-bin.jar lib/mail.jar
> X-COMMENT: Main-Class will be added automatically by build
> ***************
>
> persistence.xml
> ****************
>
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
> http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd">
>    transaction-type="RESOURCE_LOCAL">
>     oracle.toplink.essentials.PersistenceProvider
>     XXXXXXXXX
>     XXXXXXXX
>    
>      
>      
>        value="jdbc:mysql://172.XXX.XXX.XX:3306/jwork"/>
>      
>    
>  
>
> *************
> --
> View this message in context: http://www.nabble.com/%E6%8C%81%E7%B6%9A%E6%80%A7%E3%83%A6%E3%83%8B%E3%83%83%E3%83%88%E5%90%8D%E3%81%8C%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%89%E3%81%AA%E3%81%84%3AJava%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%3ANetbeans6.5.1-tp24270469p24270469.html
> Sent from the NetBeans - Japanese Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@netbeans.org
> For additional commands, e-mail: nbdiscuss_ja-help@netbeans.org
>

_________________________________________________________________
便利!ケータイへのHotmailアラートはこちら
http://clk.atdmt.com/GBL/go/153791840/direct/01/

---------------------------------------------------------------------
To unsubscribe, e-mail: nbdiscuss_ja-unsubscribe@netbeans.org
For additional commands, e-mail: nbdiscuss_ja-help@netbeans.org