 <p>what you probably want is a "provided"*-scope dependency on <code>org.wildfly:wildfly-spec-api:8.1.0</code> (which is a pom artifact containing all the apis/specifications provided to you by wildfly).</p> <p>assumming you intend to deploy your app inside wildfly (as opposed to embedding wildfly in your own main() somehow...) you dont need a dependency on the wildfly container.</p> <p><strong>*</strong> - note that since wildfly-apec-api is a pom artifact (and not a jar) you need to use the import scope and not provided. see <a href="http://www.mastertheboss.com/wildfly-8/maven-configuration-for-java-ee-7-projects-on-wildfly" rel="nofollow">this article</a> for a complete guide. the gist is you put an import scope dependency on the pom in dependency management, and then you can put a provided-scope dependency on any specific member api/spec that you use (say ejb3, jsf, bean validation or jpa) and the versions will be taken from the spec-api pom.</p>