为EAR应用程序设置上下文根(Resin)

时间:2011-02-28 09:20:45

标签: java war ear resin

我有一个具有以下结构的EAR应用程序:

app.ear
|-- app.war
`-- META-INF
    `-- application.xml

application.xml中

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
         http://java.sun.com/xml/ns/j2ee/application_1_4.xsd"
         version="1.4">

  <display-name>App</display-name>
  <description>Application</description>

  <module>
    <web>
      <web-uri>app.war</web-uri>
      <context-root>/path</context-root>
    </web>
  </module>

</application>

Resin具有默认配置。我希望http://localhost:3333/path/service应该是app.war,但每个请求都会返回:

<html>
<head>
  <title>404 Not Found</title>
</head>
<body>
  <h1>404 Not Found</h1>
  /path/service was not found on this server.
  <p/>
  <hr/>
  <small>Resin/3.1.9</small>
</body>
</html>

如果我只将应用程序作为WAR文件,Resin会加载它,它可以在/app/service上运行。问题出在哪儿?配置对我来说似乎是正确的。

编辑:树脂的日志

[10:38:57.799] {main} WebApp[http://localhost:3333] active
[10:38:58.018] {main} WebApp[http://localhost:3333/resin-admin] active
[10:38:58.059] {main} WebApp[http://localhost:3333/app.ear] active
[10:39:00.323] {main} WebApp[http://localhost:3333/resin-doc] active

1 个答案:

答案 0 :(得分:0)

application.xml应该属于耳内的“META-INF”文件夹,而不是你的例子中的“WEB-INF”。