在嵌入式glassfish上使用domain.xml时的URI
我正在使用GlassFish 3.0.1嵌入一个JavaEE5应用程序。在使用时,我已经可以在不进行特定配置的情况下部署它,但在尝试使用domain.xml基本上是JAAS info运行服务器时,我遇到以下错误:在嵌入式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
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配置启动服务器。我唯一抑制的是应用程序,我正试图以编程方式部署它。