###前提・実現したいこと
Java1.8のJavaEEのMavenプロジェクトで埋め込みEJBコンテナを使用してテストを実行したい
https://netbeans.org/kb/docs/javaee/maven-entapp-testing_ja.html
このサイトを参考に進めましたが、ソースコードにラムダ式が使われていると
glassfishではうまく起動しないということらしいので
https://github.com/payara/Payara/issues/647
今度はこの内容を基に、Payara Serverを使用して環境構築をしています。
###発生している問題・エラーメッセージ
EJBContainerをcreateするところで
ClassNotFoundExceptionが出てしまいテストを実行することができません。
テストではなく通常のWebアプリケーションは問題なく起動していてDB接続もできています。
エラーメッセージ
職場のプロジェクトなのでまるまるコピーができないのですが
ClassNotFoundExceptionが出てきて、その後以下のようなメッセージが出ています。
Class name is wrong or classpath is not set for : com.mysql.jdbc.jdbc2.optional.MysqlDataSource
###該当のソースコード
Java
1Map properties = new HashMap(); 2properties.put("org.glassfish.ejb.embedded.glassfish.configuration.file", 3 "/Applications/NetBeans/glassfish-4.1/glassfish/domains/domain1/config/domain.xml"); 4EJBContainer container = javax.ejb.embeddable.EJBContainer.createEJBContainer(properties); 5MyEntityFacade instance = (MyEntityFacade)container.getContext().lookup("java:global/classes/MyEntityFacade");
###試したこと
・payara-embedded-all 4.1.1.162を依存性に追加しました
・domain.xmlの位置を定義しないと別のエラー(ConnectionPoolが見つからない?)が出たので設定しました
・createEJBContainerのpropertiesにglass fishのinstance rootを指定してみましたがエラーになりました
###補足情報(言語/FW/ツール等のバージョンなど)
Java version: 1.8.0_91
OS: Windows 7
IDE: Netbeans 8.0.2
Glassfish: 4.1
あなたの回答
tips
プレビュー