Andy
Andy

Reputation: 10840

How to add the common annotations API dependency in a Maven Pom.xml file?

I have been trying to add this to my POM file which is what is in an example POM file for a hello world program:

<!-- Import the Common Annotations API (JSR-250), we use provided scope 
     as the API is included in JBoss AS 7 -->
  <dependency>
     <groupId>org.jboss.spec.javax.annotation</groupId>
     <artifactId>jboss-annotations-api_1.1_spec</artifactId>
     <scope>provided</scope>
  </dependency>

When I run it, it fails. It says the version number is missing. When I add a version, say 1.0, it still fails. I am pretty new to POM files and maven, so any explanation would be helpful.

My POM file:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.unihub.app</groupId>
  <artifactId>unihub</artifactId>
  <packaging>war</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>unihub</name>
  <url>http://maven.apache.org</url>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
<!--Import the Servlet API using provided scope as the JARs are already included in Jboss7-->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.4</version>
        <scope>provided</scope>
    </dependency>
  </dependencies>
     <build>
      <!-- Set the name of the war, used as the context root when the app 
         is deployed -->
      <finalName>unihub</finalName>
      <plugins>
               <plugin>
            <groupId>org.jboss.as.plugins</groupId>
            <artifactId>jboss-as-maven-plugin</artifactId>
            <version>7.3.Final</version>
         </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>2.3.1</version>
          <configuration>
            <source>1.6</source>
            <target>1.6</target>
          </configuration>
        </plugin>
       </plugins>
   </build>
</project>

Upvotes: 0

Views: 3269

Answers (1)

Samuel EUSTACHI
Samuel EUSTACHI

Reputation: 3156

For a maven dependency, you have to get to know which version is available.

You can either browse the repository you are using, or search it on the web.

For instance : http://mvnrepository.com/artifact/org.jboss.spec.javax.annotation/jboss-annotations-api_1.1_spec

shows that 1.0.1.Final is a valid version.

Upvotes: 2

Related Questions