JBoss Maven Repositories: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
 
(51 intermediate revisions by the same user not shown)
Line 4: Line 4:


=Internal=
=Internal=
* [[EAP#Maven_Repositories|EAP - Maven Repositories]]


=Overview=
=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.


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.
=RedHat Repositories=
 


https://maven.repository.redhat.com/ga/
==RedHat General Availability Maven Repository==


{{External|https://maven.repository.redhat.com/ga/}}


https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.0/html-single/development_guide/#use_the_maven_repository
This repository contains supported artifacts. It is also used to publish [[#JBoss_EAP_BOMs|BOMs]].


Red Hat publishes the following Maven repositories:
settings.xml declaration:


=JBoss BOMs=
<syntaxhighlight lang='xml'>
<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>
</syntaxhighlight>


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.
==RedHat Tech Preview Maven Repository==


<dependency>
{{External|http://maven.repository.redhat.com/techpreview/all}}
  <groupId>org.jboss.bom</groupId>
  <artifactId>eap-runtime-artifacts</artifactId>
  <version>7.0.0.GA</version>
  <type>pom</type>
  <scope>import</scope>
  </dependency>


==Other RedHat Tech Preview Maven Repository==


eap6-supported-artifacts
{{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]].


The jboss-javaee-7.0 BOM contains the Java EE Specification API JARs used by JBoss EAP.
==RedHat Early Access Maven Repository==


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.
{{External|https://maven.repository.redhat.com/earlyaccess/all/}}


The following example uses the 1.0.3.Final-redhat-1 version of the jboss-javaee-7.0 BOM.
=JBoss Repositories=


<dependencyManagement>
The root of all JBoss Maven repositories is:
  <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>
{{External|https://repository.jboss.org/nexus/content/repositories/}}
  <dependency>
    <groupId>org.jboss.spec.javax.servlet</groupId>
    <artifactId>jboss-servlet-api_3.1_spec</artifactId>
    <scope>provided</scope>
  </dependency>
  ...
</dependencies>


=Organizatorium=
It contains the following repositories:


Repositories from .m2/settings.xml:
* '''JBoss Releases''' https://repository.jboss.org/nexus/content/repositories/releases contains JBoss community projects that have been released.
* '''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.
* '''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.
* '''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.
* '''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.
* '''JBoss Snapshots''' https://repository.jboss.org/nexus/content/repositories/snapshots contains JBoss community project snapshot builds.


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


RedHat GA: https://maven.repository.redhat.com/ga/
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.


http://repository.jboss.org/nexus/content/groups/public/
==Configuration of the Public JBoss Repository Group==


This is the repository where some of the patched JARs from EAPs are found: https://maven.repository.redhat.com/nexus/content/groups/product-techpreview/
{{External|https://repository.jboss.org/nexus/content/groups/public-jboss/}}


To find whether a EAP deployment has been patched and where the patches are, see [[EAP Patching]].
settings.xml declaration:


<font color=red>To Migrate [JBossAndMaven]. </font>
<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>


{{External|https://repository.jboss.org/nexus/content/groups/public-jboss}}
==JBoss Repository Search==


<pre>
Go to
<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}}
{{External|https://repository.jboss.org/nexus}}  


<pre>
and use search.
<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=
=JBoss EAP BOMs=


https://github.com/jboss-developer/jboss-eap-boms
{{Internal|JBoss EAP BOMs|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