在嵌入式glassfish上使用domain.xml时的URI

在嵌入式glassfish上使用domain.xml时的URI,glassfish,java-ee-5,Glassfish,Java Ee 5,我正在使用GlassFish 3.0.1嵌入一个JavaEE5应用程序。在使用时,我已经可以在不进行特定配置的情况下部署它,但在尝试使用domain.xml基本上是JAAS info运行服务器时,我遇到以下错误: java.lang.IllegalArgumentException: URI is not absolute 我的代码是:此错误指向最后一行: Server.Builder builder = new Server.Builder("ipc"); EmbeddedFileSyste

我正在使用GlassFish 3.0.1嵌入一个JavaEE5应用程序。在使用时,我已经可以在不进行特定配置的情况下部署它,但在尝试使用domain.xml基本上是JAAS info运行服务器时,我遇到以下错误:

java.lang.IllegalArgumentException: URI is not absolute
我的代码是:此错误指向最后一行:

Server.Builder builder = new Server.Builder("ipc");
EmbeddedFileSystem.Builder efsb = new EmbeddedFileSystem.Builder();
File domainDir = new File( "domains/ipc-domain" );
File domainXML = new File( domainDir.getAbsoluteFile(), "config/domain.xml" );
efsb.instanceRoot( domainDir.getAbsoluteFile() );
efsb.configurationFile( domainXML.getAbsoluteFile() );
EmbeddedFileSystem efs = efsb.build();
builder.embeddedFileSystem(efs);
//Trying to set variable used at domain.xml (blind shot) 
Properties props = new Properties();
props.setProperty( "com.sun.aas.instanceRoot" , domainDir.toURI().toString());
Server server = builder.build( props );
My domain.xml特定部分包含以下内容:

<domain log-root="${com.sun.aas.instanceRoot}/logs" application-root="${com.sun.aas.instanceRoot}/applications" version="10.0">
  <system-applications/>

  <applications>
    <application context-root="/IPC" location="${com.sun.aas.instanceRoot}/applications/IPC/" name="IPC" object-type="user">
      <property name="keepSessions" value="false"></property>
      <property name="defaultAppName" value="IPC"></property>
      <module name="IPC">
        <engine sniffer="ejb"></engine>
        <engine sniffer="security"></engine>
        <engine sniffer="jpa"></engine>
        <engine sniffer="web"></engine>
      </module>
    </application>
  </applications>

  <resources>
    <jdbc-connection-pool pool-resize-quantity="1" datasource-classname="org.apache.derby.jdbc.ClientDataSource" max-pool-size="2" res-type="javax.sql.DataSource" steady-pool-size="1" name="ipc-pool">
      <property name="PortNumber" value="1527"></property>
      <property name="ServerName" value="0.0.0.0"></property>
      <property name="User" value="app"></property>
      <property name="Password" value="root"></property>
      <property name="DatabaseName" value="IPC"></property>
    </jdbc-connection-pool>
    <jdbc-resource pool-name="ipc-pool" jndi-name="jdbc/IPC"></jdbc-resource>
  </resources>

我已经尝试更改与${com.sun.aas.instanceRoot}变量相关的部分,但是URI错误有一些小的变化。有什么见解吗?

大家好。我升级这个只是为了确保问题不只是GF 3.0.1。我之所以这么说,是因为IRC room的一些人建议我试试GF 3.1,他们认为第一个版本只支持嵌入式环境。我同意他们的观点,但是,在新版本中运行相同的东西时,我得到了相同的错误。可能最初的问题与我在domain.xml中的一些错误配置有关!我开始使用此电子邮件线程中建议的最小XML重新配置我的域:-我现在可以使用文件中的JDBC、HTTP和JAAS配置启动服务器。我唯一抑制的是应用程序,我正试图以编程方式部署它。