Glassfish組み込みAPIを使用して、jpa-ejb-webプロジェクトをスタンドアロンアプリケーションとしてパッケージ化できるようにしたいと思います。
JPAレイヤーを使用するには、sun-resource.xml構成をデプロイする必要があります。これは、asadminコマンド add-resources path\to\sun-resources.xml
で実行できるはずです。私はそれを行うためにこのコードを持っています:
String command = "add-resources";
ParameterMap params = new ParameterMap();
params.add("", "...\sun-resources.xml" );
CommandRunner runner = server.getHabitat().getComponent(CommandRunner.class);
ActionReport report = server.getHabitat().getComponent(ActionReport.class);
runner.getCommandInvocation(command, report).parameters(params).execute();
しかし、Glassfishはそれを次のように拒否します:
15-Jul-2010 16:34:12 org.glassfish.admin.cli.resources.AddResources execute
重大:リソースの追加で問題が発生しました
java.lang.Exception: ...\gfembed6930201441546233570tmp\lib\dtds\sun-resources_1_4.dtd (The system cannot find the path specified)
at org.glassfish.admin.cli.resources.ResourcesXMLParser.initProperties(ResourcesXMLParser.java:163)
at org.glassfish.admin.cli.resources.ResourcesXMLParser.<init>(ResourcesXMLParser.java:109)
at org.glassfish.admin.cli.resources.ResourcesManager.createResources(ResourcesManager.java:67)
at org.glassfish.admin.cli.resources.AddResources.execute(AddResources.java:106)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:305)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176)
at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1224)
at javaapplication4.Main.main(Main.java:55)
実際、lib
指定されたパスにはディレクトリがありません...
私のコードに何か問題がありますか?(私はglassfish-embedded-all-3.0.1.jarを使用します)
ありがとう