JBoss Maven Repositories: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
 
(29 intermediate revisions by the same user not shown)
Line 11: Line 11:
JBoss EAP comes with a publicly accessible on-line Maven repository that contains many of the dependencies Java EE developers need to build applications on JBoss EAP. Maven repository archives are also being offered for each EAP release on the JBoss Customer Portal and can be installed locally.
JBoss EAP comes with a publicly accessible on-line Maven repository that contains many of the dependencies Java EE developers need to build applications on JBoss EAP. Maven repository archives are also being offered for each EAP release on the JBoss Customer Portal and can be installed locally.


=Repositories=
=RedHat Repositories=


==RedHat General Availability Maven Repository==
==RedHat General Availability Maven Repository==
Line 25: Line 25:
   <profiles>
   <profiles>
     <profile>
     <profile>
       <id>RedHat General Availability Repository</id>
       <id>RedHat General Availability Maven Repository Profile</id>
       <repositories>
       <repositories>
         <repository>
         <repository>
Line 46: Line 46:
   ...
   ...
   <activeProfiles>
   <activeProfiles>
     <activeProfile>RedHat General Availability Repository</activeProfile>
     <activeProfile>RedHat General Availability Maven Repository Profile</activeProfile>
   </activeProfiles>
   </activeProfiles>
</settings>
</settings>
</syntaxhighlight>
</syntaxhighlight>


=JBoss EAP BOMs=
==RedHat Tech Preview Maven Repository==


{{Internal|JBoss EAP BOMs|JBoss EAP BOMs}}
{{External|http://maven.repository.redhat.com/techpreview/all}}


--------------
==Other RedHat Tech Preview Maven Repository==


{{External|https://maven.repository.redhat.com/nexus/content/groups/product-techpreview/}}


This is the repository where some of the patched JARs from EAPs are found. To find whether a EAP deployment has been patched and where the patches are, see [[EAP Patching]].


==RedHat Early Access Maven Repository==


https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/6.4/html/Development_Guide/chap-Maven_Guide.html
{{External|https://maven.repository.redhat.com/earlyaccess/all/}}


=JBoss Repositories=


https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#use_the_maven_repository
The root of all JBoss Maven repositories is:


=JBoss BOMs=
{{External|https://repository.jboss.org/nexus/content/repositories/}}


There is a dependency management BOM included in the JBoss EAP Maven repository, which specifies all the supported JBoss EAP binary artifacts. This BOM can be used in a build to ensure that Maven will prioritize supported JBoss EAP dependencies for all direct and transitive dependencies in the build. In other words, transitive dependencies will be managed to the correct supported dependency version where applicable. The version of this BOM matches the version of the JBoss EAP release.
It contains the following repositories:


<dependency>
* '''JBoss Releases''' https://repository.jboss.org/nexus/content/repositories/releases contains JBoss community projects that have been released.
  <groupId>org.jboss.bom</groupId>
* '''Boss Thirdparty Releases''' https://repository.jboss.org/nexus/content/repositories/thirdparty-releases contains third-party projects that have been modified and rebuilt by the JBoss community.
  <artifactId>eap-runtime-artifacts</artifactId>
* '''JBoss Thirdparty Uploads''' https://repository.jboss.org/nexus/content/repositories/thirdparty-uploads contains third-party artifacts which are not available via the JBoss or proxied repositories. These are artifacts that were downloaded directly from a third-party and were not re-built from source by the JBoss community before being uploaded.
  <version>7.0.0.GA</version>
* '''JBoss Thirdparty Restricted''' https://repository.jboss.org/nexus/content/repositories/thirdparty-restricted contains third-party artifacts that cannot be redistributed to the public. This repository is only available to authenticated users.
  <type>pom</type>
* '''JBoss Deprecated''' https://repository.jboss.org/nexus/content/repositories/deprecated contains artifacts from the jboss repository that should no longer be used but need to be available for legacy builds.
  <scope>import</scope>
* '''JBoss Snapshots''' https://repository.jboss.org/nexus/content/repositories/snapshots contains JBoss community project snapshot builds.
  </dependency>


==JBoss Repository Groups==


eap6-supported-artifacts
A ''repository group'' provides a combined view of several repositories under a single URL. Available repository groups:


* '''Public JBoss Group''' https://repository.jboss.org/nexus/content/groups/public-jboss Used by JBoss community users. Contains the repositories "JBoss Releases", "JBoss Thirdparty Releases", "JBoss Thirdparty Uploads", and "JBoss Snapshots". Does not include "JBoss Deprecated". Does not include proxy repositories.


The jboss-javaee-7.0 BOM contains the Java EE Specification API JARs used by JBoss EAP.
* '''Public Repositories''' https://repository.jboss.org/nexus/content/groups/public Used by JBoss community developers. Contains all JBoss repositories included in the "Public JBoss" group. Does not include "JBoss Deprecated" and "JBoss Restricted". Contains all proxy repositories other than "central".


To use this BOM in a project, add a dependency for the GAV that contains the version of the JSP and Servlet API JARs needed to build and deploy the application.
* '''Staging Repository Group''' https://repository.jboss.org/nexus/content/groups/staging Includes all release repositories in the "Public JBoss" group. Contains all non-snapshot proxy repositories including "central". Contains all the currently available (closed) staging repositories. Does not include any snapshot repositories. This repository should be used when performing a release.


The following example uses the 1.0.3.Final-redhat-1 version of the jboss-javaee-7.0 BOM.
==Configuration of the Public JBoss Repository Group==


<dependencyManagement>
{{External|https://repository.jboss.org/nexus/content/groups/public-jboss/}}
  <dependencies>
    <dependency>
      <groupId>org.jboss.spec</groupId>
      <artifactId>jboss-javaee-7.0</artifactId>
      <version>1.0.3.Final-redhat-1</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
    ...
  </dependencies>
</dependencyManagement>


<dependencies>
settings.xml declaration:
  <dependency>
    <groupId>org.jboss.spec.javax.servlet</groupId>
    <artifactId>jboss-servlet-api_3.1_spec</artifactId>
    <scope>provided</scope>
  </dependency>
  ...
</dependencies>


=Organizatorium=
<syntaxhighlight lang='xml'>
<settings ...>
  <profiles>
    <profile>
      <id>JBoss Public Maven Repository Group Profile</id>
      <repositories>
        <repository>
          <id>jboss-public-repository</id>
          <name>JBoss Public Maven Repository</name>
          <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
          <layout>default</layout>
        </repository>
      </repositories>
    </profile>
  </profiles>
  ...
  <activeProfiles>
    <activeProfile>JBoss Public Maven Repository Group Profile</activeProfile>
  </activeProfiles>
</settings>
</syntaxhighlight>


Repositories from .m2/settings.xml:
==JBoss Repository Search==


JBoss Public Maven Repository: https://repository.jboss.org/nexus/content/groups/public-jboss
Go to


{{External|https://repository.jboss.org/nexus}}


and use search.


=JBoss EAP BOMs=


{{Internal|JBoss EAP BOMs|JBoss EAP BOMs}}


http://repository.jboss.org/nexus/content/groups/public/
--------------
 
This is the repository where some of the patched JARs from EAPs are found: https://maven.repository.redhat.com/nexus/content/groups/product-techpreview/
 
To find whether a EAP deployment has been patched and where the patches are, see [[EAP Patching]].
 
<font color=red>To Migrate [JBossAndMaven]. </font>
 
{{External|https://repository.jboss.org/nexus/content/groups/public-jboss}}
 
<pre>
<repository>
    <id>jboss-public-repository-group</id>
    <name>JBoss Public Maven Repository Group</name>
    <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
    <layout>default</layout>
</repository>
</pre>
 
{{External|https://maven.repository.redhat.com/ga}}
 
<pre>
<repository>
    <id>redhat-ga</id>
    <name>redhat-ga</name>
    <url>https://maven.repository.redhat.com/ga/</url>
  <layout>default</layout>
  <releases>
      <enabled>true</enabled>
      <updatePolicy>never</updatePolicy>
  </releases>
  <snapshots>
      <enabled>true</enabled>
<updatePolicy>never</updatePolicy>
  </snapshots>
</repository>
</pre>
 
=BOMs=
 
https://github.com/jboss-developer/jboss-eap-boms
 
See branches.

Latest revision as of 21:44, 6 September 2017

External

Internal

Overview

JBoss EAP comes with a publicly accessible on-line Maven repository that contains many of the dependencies Java EE developers need to build applications on JBoss EAP. Maven repository archives are also being offered for each EAP release on the JBoss Customer Portal and can be installed locally.

RedHat Repositories

RedHat General Availability Maven Repository

https://maven.repository.redhat.com/ga/

This repository contains supported artifacts. It is also used to publish BOMs.

settings.xml declaration:

<settings ...>
  <profiles>
    <profile>
      <id>RedHat General Availability Maven Repository Profile</id>
      <repositories>
        <repository>
           <id>redhat-ga</id>
           <name>redhat-ga</name>
           <url>https://maven.repository.redhat.com/ga/</url>
           <layout>default</layout>
           <releases>
             <enabled>true</enabled>
             <updatePolicy>never</updatePolicy>
           </releases>
           <snapshots>
             <enabled>true</enabled>
             <updatePolicy>never</updatePolicy>
           </snapshots>
         </repository>
       </repositories>
     </profile>
  </profiles>
  ...
  <activeProfiles>
    <activeProfile>RedHat General Availability Maven Repository Profile</activeProfile>
  </activeProfiles>
</settings>

RedHat Tech Preview Maven Repository

http://maven.repository.redhat.com/techpreview/all

Other RedHat Tech Preview Maven Repository

https://maven.repository.redhat.com/nexus/content/groups/product-techpreview/

This is the repository where some of the patched JARs from EAPs are found. To find whether a EAP deployment has been patched and where the patches are, see EAP Patching.

RedHat Early Access Maven Repository

https://maven.repository.redhat.com/earlyaccess/all/

JBoss Repositories

The root of all JBoss Maven repositories is:

https://repository.jboss.org/nexus/content/repositories/

It contains the following repositories:

JBoss Repository Groups

A repository group provides a combined view of several repositories under a single URL. Available repository groups:

  • Public JBoss Group https://repository.jboss.org/nexus/content/groups/public-jboss Used by JBoss community users. Contains the repositories "JBoss Releases", "JBoss Thirdparty Releases", "JBoss Thirdparty Uploads", and "JBoss Snapshots". Does not include "JBoss Deprecated". Does not include proxy repositories.
  • Public Repositories https://repository.jboss.org/nexus/content/groups/public Used by JBoss community developers. Contains all JBoss repositories included in the "Public JBoss" group. Does not include "JBoss Deprecated" and "JBoss Restricted". Contains all proxy repositories other than "central".
  • Staging Repository Group https://repository.jboss.org/nexus/content/groups/staging Includes all release repositories in the "Public JBoss" group. Contains all non-snapshot proxy repositories including "central". Contains all the currently available (closed) staging repositories. Does not include any snapshot repositories. This repository should be used when performing a release.

Configuration of the Public JBoss Repository Group

https://repository.jboss.org/nexus/content/groups/public-jboss/

settings.xml declaration:

<settings ...>
  <profiles>
    <profile>
      <id>JBoss Public Maven Repository Group Profile</id>
      <repositories>
        <repository>
          <id>jboss-public-repository</id>
          <name>JBoss Public Maven Repository</name>
          <url>https://repository.jboss.org/nexus/content/groups/public-jboss/</url>
          <layout>default</layout>
        </repository>
      </repositories>
    </profile>
  </profiles>
  ...
  <activeProfiles>
    <activeProfile>JBoss Public Maven Repository Group Profile</activeProfile>
  </activeProfiles>
</settings>

JBoss Repository Search

Go to

https://repository.jboss.org/nexus

and use search.

JBoss EAP BOMs

JBoss EAP BOMs