You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Andreas Veithen (JIRA)" <ji...@apache.org> on 2016/07/02 16:06:11 UTC
[jira] [Resolved] (AXIS2-5783) Maven axis2-repo-maven-plugin +
Maven WAR plugin with *.mar artifacts
[ https://issues.apache.org/jira/browse/AXIS2-5783?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andreas Veithen resolved AXIS2-5783.
------------------------------------
Resolution: Not A Problem
> Maven axis2-repo-maven-plugin + Maven WAR plugin with *.mar artifacts
> ---------------------------------------------------------------------
>
> Key: AXIS2-5783
> URL: https://issues.apache.org/jira/browse/AXIS2-5783
> Project: Axis2
> Issue Type: Improvement
> Components: Tools
> Affects Versions: 1.7.3
> Reporter: Jeff Thomas
> Priority: Trivial
>
> I have a conflict currently between the 'axis2-repo-maven-plugin' and the 'maven-war-plugin'.
> At some point someone upgraded the Maven WAR plugin so that it automatically packs any "<type>mar</type>" runtime dependency into the resulting WAR. Unfortunately it is also not possible to disable this "feature" on the maven-war-plugin.
> I *want* to use the axis2-repo-maven-plugin to place different ".mar" artifacts into two *different* Axis2 repositories in the same WAR (i.e. WEB-INF/modules and WEB-INF/client/modules). While the axis2-repo-maven-plugin does its job perfectly, the WAR plugin always runs last and packs *ALL* MAR artifacts into WEB-INF/modules.
> My "workaround" which is most likely not release-viable was to change the axis2-repo-maven-plugin CreateRepositoryMojo.java so that it works on MAR artifacts with scope "provided" instead of "runtime" and "@requiresDependencyResolution compile" instead of "runtime". This keeps the WAR plugin from packing them automatically and allows me to run two separate executions for my two repositories.
> {code:java}
> /**
> * Creates an Axis2 repository from the project's runtime dependencies. This goal is typically
> * used to build an Axis2 repository that will be packaged into some kind of distribution.
> *
> * @goal create-repository
> * @phase package
> * @requiresDependencyResolution compile
> */
> public class CreateRepositoryMojo extends AbstractCreateRepositoryMojo {
> /**
> * The output directory where the repository will be created.
> *
> * @parameter default-value="${project.build.directory}/repository"
> */
> private File outputDirectory;
>
> @Override
> protected String getScope() {
> return Artifact.SCOPE_PROVIDED;
> }
> @Override
> protected File getOutputDirectory() {
> return outputDirectory;
> }
> }
> {code}
> I am not sure what a release-viable solution would look like...or even if it is a concern for this plugin(?!?). The best-possible solution would be an option to exclude .mar artifacts in the maven-war-plugin ... but if possible I want to get away from having to customize the Axis2 Plugin with every new release.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org