Q: Configuring a war file My end goal is simple.  I am building a website that has three components: a mobile interface, an admin web interface, and a web user interface.  I plan to put each of these modules into separate WAR files and, together with an EJB module & possibly a common library module, bundle them all into a EAR for deployment on JBoss AS 7.1.
But first things first, can I deploy a very simple WAR file and get it to work - NO!
My war file has the following structure:
project-mobile.war:
   META-INF/MANIFEST.MF
   WEB-INF/jboss-web.xml
   WEB-INF/classes/org/dobbo/project/mobile/Accounts.class
   index.html

The manifest.mf file as the following content:
  Manifest-Version: 1.0
  Ant-Version: Apache Ant 1.8.0
  Created-By: 1.6.0_18-b18 (Sun Microsystems Inc.)
  Built-By: steve

The jboss-web.xml file's content are:
<?xml version="1.0"?>
<jboss-web>
  <context-root>/mobile</context-root>
</jboss-web>

The Accounts.java file was based on the Library.java example from https://docs.jboss.org/author/display/AS71/Java+API+for+RESTful+Web+Services+(JAX-RS)
I did make some changes, added the Application subclassing and the AppicationPath annotation as this got me a little further in getting the deployment to work.
package org.dobbo.<project>.mobile;

import javax.ws.rs.*;
import javax.ws.rs.core.Application;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@ApplicationPath("/accounts")
@Consumes({"application/xml"})
@Produces({"application/xml"})
public class Accounts
    extends Application {

    ...

    @GET
    @Path("/list")
    public Collection<UUID> getAccounts() {
    Collection<UUID> list = uuids.values();

    log.info("getAccounts: " + list);
    return list;
    }

    ...
}

So far so good.
When I deploy I get the following logged to the JBoss console (timestamp & log level INFO removed):
[org.jboss.as.repository] (management-handler-thread - 12) JBAS014900: Content added at location /home/jboss/jboss-7.1.1/standalone/data/content/11/e8cdaea9dfa4e984ada3e22b0c890970f0ba75/content
[org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015877: Stopped deployment sokoban-mobile.war in 60ms
[org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015876: Starting deployment of "project-mobile.war"
[org.jboss.web] (MSC service thread 1-2) JBAS018210: Registering web context: /mobile
[org.jboss.as.server] (management-handler-thread - 12) JBAS018565: Replaced deployment "project-mobile.war" with deployment "project-mobile.war"

So far all seems well.  But when I point my browser at jboss-server:8080/mobile/accounts/list I get a:
HTTP Status 404 - Could not find resource for relative : /list of full path: http://jboss-server:8080/mobile/accounts/list

type Status report

message Could not find resource for relative : /list of full path: http://jboss-server:8080/mobile/accounts/list

description The requested resource (Could not find resource for relative : /list of full path: http://jboss-server:8080/mobile/accounts/list) is not available.

However, something is working because pointing the broswer at jboss-server:8080/mobile/ successfully returns the index.html file also included in the WAR file.
It's probably just a simple configuration error on my part, but I can't work it out for the life of me.  Many thanks to all that take the trouble to read this issue and even more thanks for posting any ideas you have.
Steve

A: The logs shows that no REST resource is loaded.
The resource is missing the @Path annotation.
You need on Application class with the @ApplicationPath annotation (The class will be empty).
Then you need to add the @Path annotation to your resource class (Accounts for your case)
So you will have:
@ApplicationPath("/")
public class AccountApp
    extends Application {}

And: 
@Path("accounts")
@Consumes({"application/xml"})
@Produces({"application/xml"})
public class Accounts{

    ...

    @GET
    @Path("/list")
    public Collection<UUID> getAccounts() {
    Collection<UUID> list = uuids.values();

    log.info("getAccounts: " + list);
    return list;
    }

    ...
}

