fabric3
Content
Documentation
Developer Reference
Packaging
Contribution Packaging
Contribution Packaging
search
attachments
weblink
advanced
image-effects
image-attributes
Paragraph
Paragraph
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Preformatted
Quote
Bold
Italic
Underline
Colour picker
More colours
Formatting
Strikethrough
Subscript
Superscript
Monospace
Clear formatting
Bullet list
Numbered list
Task list
Outdent
Indent
Align left
Align center
Align right
Page layout
Link
Table
Insert
Insert content
Files and images
Link
Symbol
Emoticon
Markup
Horizontal rule
Insert macro
User mention
Jira Issue/Filter
Info
Status
Gallery
Table of Contents
Jira timeline
Lucidchart Diagrams
Trello Board
Other macros
Page layout
No layout
Two column (simple)
Two column (simple, left sidebar)
Two column (simple, right sidebar)
Three column (simple)
Two column
Two column (left sidebar)
Two column (right sidebar)
Three column
Three column (left and right sidebars)
Find/Replace
Keyboard shortcuts help
You are not logged in. Any changes you make will be marked as
anonymous
. You may want to
Log In
if you already have an account.
<h2>Contribution Formats</h2><p>Fabric3 applications are packaged in one or more <em>contributions.</em> The following contribution formats are supported:</p><ul><li>JAR archives</li><li>ZIP archives</li><li><span style="line-height: 1.4285715;">WAR archives</span></li><li>OSGi bundles</li><li>XML documents </li></ul><h3>JAR Contributions</h3><p>Most SCA applications will be packaged as one or more JARs, which contain application classes and artifacts. A JAR contribution requires an <a class="confluence-link" href="/wiki/spaces/FABRIC/pages/1540249/The+Contribution+Manifest" data-linked-resource-id="1540249" data-linked-resource-version="4" data-linked-resource-type="page" data-linked-resource-default-alias="The Contribution Manifest" data-base-url="https://fabric3.atlassian.net/wiki">contribution manifest file</a> (<em>sca-contribution.xml ) </em>in the <code>META-INF</code> directory. </p><p><span style="line-height: 1.4285715;">Fabric3 supports two ways of packaging and deploying libraries used by a contribution: embedding them in the JAR; and importing them from another contribution. Similar to WARs, Fabric3 allows contribution JARs to bundle libraries by placing their JARs in the <code>META-INF/lib</code> directory, which in turn will be made available on the contribution classpath. Imports are discussed in <a class="confluence-link" href="/wiki/spaces/FABRIC/pages/1540249/The+Contribution+Manifest" data-linked-resource-id="1540249" data-linked-resource-version="4" data-linked-resource-type="page" data-linked-resource-default-alias="The Contribution Manifest" data-base-url="https://fabric3.atlassian.net/wiki">The Contribution Manifest</a>.</span></p><h3>WAR <span style="line-height: 1.5;">Contributions</span></h3><p>Fabric3 supports packaging contributions as WAR files. WAR contributions behave like JAR contributions except the SCA manifest in is placed in <code>WEB-INF</code>. In addition, libraries and classes in <code>WEB-INF/lib</code> and <code>WEB-INF/classes</code> respectively are placed on the contribution classpath. WAR contributions are used for deploying web applications to a domain.</p><h3>ZIP <span style="line-height: 1.5;">Contributions</span></h3><p><span style="line-height: 1.5;">ZIP contributions are identical to JAR contributions.</span></p><h3>OSGi Bundles</h3><p>Fabric3 also supports packaging contributions as OSGi bundles. In this case, OSGi bundle manifests may be used to export and import packages from other contributions. An SCA manifest file is not required.</p><p>Note Export-Package and Import-Package OSGi manifest headers are supported in a limited fashion. Specifically, attribute directives are not supported.</p><h3>XML Documents</h3><p>Fabric3 supports XML documents such as configuration files.</p><h2>Gradle and Maven Plugins</h2><p>Contributions will often use third-party libraries. These libraries may be packaged and deployed as separate contributions, which are then imported into the using contribution via OSGi directives (see <a class="confluence-link" href="/wiki/spaces/FABRIC/pages/524356/Contribution+Modularity" data-linked-resource-id="524356" data-linked-resource-version="6" data-linked-resource-type="page" data-linked-resource-default-alias="Contribution Modularity" data-base-url="https://fabric3.atlassian.net/wiki">Contribution Modularity</a>). The downside of this approach is that deployment is more complex since an application is spread across multiple archives. For applications that do not need this degree of modularity, Fabric3 provides Gradle and Maven plugins for packaging third-party libraries within the contribution that uses them. </p><p>The contribution plugin follows the same model as web application archives (WARs): it includes third-party library jars in <code>META-INF/lib</code>. At deployment, these libraries will be placed on the contribution classpath, thereby making them available to code bundled in the contribution. </p>
Save
Close
Edit
Preview
View changes
Revert to last published version
{"serverDuration": 422, "requestCorrelationId": "63d3feacdeb44de9b5f7f04c8bf1010f"}