m2e-wtp currently doesn't support artifacts generated by
maven-assembly-plugin within the workspace. i.e a workspace project cannot
reference a zip classifier artifact matching another workspace project.
You basically have 2 solutions :
- force the consumers to reference the zip file directly : either disable
workspace resolution for projects consuming your zip (project > maven >
disable worskpace resolution) or delete mvn-Q-resources from your
workspace. The big drawback of that approach is you'll have to execute mvn
install on mvn-Q-resources everytime a file changes
- change mvn-Q-resources type to jar. Move all your web resources to
src/main/resources and reference :
<overlay>
<groupId>mygroup</groupId>
<artifactId>mvn-Q-resources</artifactId>
<type>jar</type>
<targetPath>/WEB-INF</targetPath>
<includes>
<include>/xsl/**</include>
</includes>
</overlay>
That solution should allow you to keep working/deploying stuff incrementally
On Thu, Feb 26, 2015 at 11:25 AM, Thorsten Heit <[email protected]>
wrote:
> Hi,
>
> I'm in the process of creating Maven builds for a few applications. These
> applications use Ant build scripts to create WAR and EAR files.
>
>
> Initial situation:
>
> * All source code is stored in our Subversion repository.
> * Each application depends on several internal projects P1, P2, ... that
> all have a non-Maven-like structure.
> * Most, but not all of them not only contain Java code, but also web
> resources (HTML, JavaScript, XSL, ...) that have to be placed directly
> under "/" or under "/WEB-INF" in the resulting application WAR(s).
>
>
>
> Actual situation:
>
> * For each internal project P that contains only Java code I have created
> a new Maven project mvn-P using Maven conventions and directory layout;
> Java code is referenced under src/main/java via svn:externals.
> * For each project Q that contains both Java sources and resource files, I
> have created two Maven projects mvn-Q and mvn-Q-resources; as above Java
> code and resources are referenced via svn:externals. The mvn-Q-resources
> project is of type pom and uses the assembly plugin to create a zip archive
> containing the resources; i.e. builds an artifact named
> mvn-Q-resources-<version>-zip.zip
>
>
> For one of the WAR and EAR projects I created a multi-module Maven project
> to build the same WAR and EAR via Maven as the legacy Ant script. The
> structure is basically the following:
>
> app-main
> +- app-jar
> +- mvn-p
> \- mvn-q
> +- app-war
> +- app-jar
> \- mvn-q-resources
> +- app-ear
> \- app-war
>
>
> The app-war pom.xml contains the following:
>
> <plugins>
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-war-plugin</artifactId>
> <configuration>
> <!-- web resources -->
> <overlays>
> <overlay>
> <groupId>mygroup</groupId>
> <artifactId>mvn-Q-resources</artifactId>
> <type>zip</type>
> <classifier>zip</classifier>
> <targetPath>/WEB-INF</targetPath>
> <includes>
> <include>/xsl/**</include>
> </includes>
> </overlay>
> ...
> </overlays>
> </configuration>
> </plugin>
> ...
> </plugins>
>
> <dependencies>
> <dependency>
> <groupId>mygroup</groupId>
> <artifactId>mvn-Q-resources</artifactId>
> <version>1.0-SNAPSHOT</version>
> <type>zip</type>
> <classifier>zip</classifier>
> <scope>runtime</scope>
> </dependency>
> ...
> </dependencies>
>
> So far, this works pretty fine using command-line Maven.
>
>
>
> The problem:
>
> My Eclipse workspace contains all necessary projects, i.e. mvn-P, mvn-Q,
> mvn-Q-resources, app-main, app-jar, app-war and app-ear. In the server view
> I created a new instance using a locally installed Tomcat. After adding
> app-war to it I see all the project's jar dependencies in the view. But:
> Although I can start the server and debug in the referenced dependencies,
> the WAR application doesn't run correctly because the referenced resources
> are not available, i.e. everything I added to m-war-p via overlays/overlay.
>
> I'm using the following:
>
> * Eclipse Mars 4.5 (Build id: I20150203-1300)
> * Java EE Developer Tools 3.7.0.v201501282120
> * m2e 1.6.0.20150220-1952
> * m2e-wtp 1.2.0.20150212-1712
> * Tomcat v8.0.20
> * Java 7u76
>
> Do you have any hints on how to solve this?
> Do I need to change something?
> Is m-assembly-p the right way to create an archive containing resources
> that are shared between other applications?
>
>
>
> Regards
>
> Thorsten
> _______________________________________________
> m2e-users mailing list
> [email protected]
> To change your delivery options, retrieve your password, or unsubscribe
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/m2e-users
>
--
"Have you tried turning it off and on again" - The IT Crowd
_______________________________________________
m2e-users mailing list
[email protected]
To change your delivery options, retrieve your password, or unsubscribe from
this list, visit
https://dev.eclipse.org/mailman/listinfo/m2e-users