jboss可以像tomcat那样,写一个配置文件,指向应用所在的路径,而不用将应用直接复制到deploy下的某一个以.war结尾的文件夹下吗?
答:好像是不能直接操作,但是可以通过变通的方式来搞定。在Windows下,用junction小工具在serverdefaultdeploy下创建一个“XXX.war"的连接,指向到真正的应用所在的地址即可。具体方法参见:http://www.cnblogs.com/hanxianlong/p/3478338.html
########################JBOSS创建虚拟目录########################################3
在JBoss 5以前的版本中,配置虚拟目录需要修改${JBOSS_HOME}/server/default/deploy/jbossweb-tomcat50.sarserver.xml, 找到:
<DefaultContext cookies="true" crossContext="true" override="true"/>
加上Context的配置:
<Context path="/test" docBase="/user/azrael" reloadable="true" crossContext="true" defaultWebXml="web.xml"/>
在JBoss 5.1中,配置虚拟目录的方式有了变化,以default为例,配置的步骤如下(JBoss 5.0的配置和此类似,配置文件名称为profile-repository.xml,由于本机上没有JBoss 5.0,还不能验证配置的正确性 ):
修改${JBOSS_HOME}/server/default/conf/bootstrap/profile.xml,找到如下片段并增加需要配置成JBoss虚拟目录的路径,需要注意的是路径名称必须符合file协议的URL语法,即以file://开头:
<property name="applicationURIs"> <list elementClass="java.net.URI"> <value>${jboss.server.home.url}deploy</value> <!--insert you virtual directory here--> <value>file://d:/jbossapp/</value> </list> </property>
然后在file://d:/jbossapp/下创建test.war,将应用复制到test.war下即可通过http://server:port/test访问。如果test.war是通过junction创建的软链接,则应用地址可以在任意位置了。