Hi,

> Can you link to a sample project reproducing the issue?

Sorry for the late reply; I didn't manage to come back earlier...
Anyway, I've attached a simple project with which you can reproduce the 
behaviour: When you import the main module in Eclipse, the Jar module has 
to be converted manually to a faceted project and marked as being a 
utility module.
When configured correctly and you start the EAR inside Wildfly for 
example, enter "http://localhost:8080/foo"; in your browser and you see a 
simple HTML page saying "Hello World".


Regards

Thorsten


> 
> On Thu, Aug 10, 2017 at 8:55 AM, Thorsten Heit <thorsten.h...@vkb.de> 
wrote:
> Hi, 
> 
> once again I'm having troubles with shared resources I'm using in a WAR 
> project. The basic structure is: 
> 
> - mvn-p1-resources 
> ... 
> - mvn-pn-resources 
> - app-main 
>   +- app-jar 
>   +- app-war 
>      +- app-jar 
>      +- mvn-p1-resourcse 
>      +- ... 
>      \- mvn-pn-resources 
>   +- app-ear 
> 
> 
> The projects mvn-p*-resources use packaging type "jar" and contain 
> resource files such as HTML files, CSS, XSL,JavaScripts etc., and are 
> added as provided dependencies in the WAR project. The WAR module ifself 

> uses overlays to package them into the correct place inside the 
generated
> WAR; see below in the mail I'm replying to how I'm actually doing this. 
> 
> Building the EAR from the command line works; everything is in the 
> correct place as expected. When I add the EAR in Eclipse to a server 
such
> as Wildfly the application doesn't start correctly because of missing 
> resources. So far I've tracked down the issues to the following 
behaviour: 
> 
> - Delete mvn-p1...n-resources from my workspace 
> - Re-Checkout the project from Subversion 
> - Open the WAR project's properties dialog, have a look into the 
> deployment assembly dialog page 
> - For all deleted and re-added projects mvn-pX-resources the dialog page 

> shows a warning message 
>   "Cannot find entry: "mvn-pX-resources" 
> 
> Right-clicking on the projects and executing Maven->Update Project... 
> doesn't have any effect; the warning messages remain, and the 
application
> doesn't start correctly. 
> 
> I can manually fix this by right-clicking on mvn-pX-resources, execute 
> Configure -> Convert to Faceted Form... and select the checkbox by 
> "Utility Module" in the dialog. This is puzzling me because according to 

> the docs ([1]) m2e-wtp has support for jar dependency projects and 
should
> add the Java and Utility Facets to them. 
> 
> At least for "normal" jar module dependencies (i.e. dependencies that 
> contain Java code) this works as expected. I can only imagine that m2e-
> wtp (?) treats provided dependencies different than direct or transitive 

> used ones...? 
> 
> Any hints what is causing this behaviour? 
> 
> 
> 
> 
> - Eclipse Oxygen (20170620-1800) 
> - m2e 1.8.1.20170728-1531 
> - m2e-wtp 1.3.2.20170517-2015 
>   together with the m2e-wtp JAX-RS, JPA and JSF configurators for WTP 
> (same version) 
> - Oracle JDK 8u141 
> - Windows 8.1 x64 
> 
> 
> [1] https://wiki.eclipse.org/M2E-WTP 
> 
> 
> Regards 
> 
> Thorsten 
> 
> 
> 
> 
> 
> > Von: "Thorsten Heit" <thorsten.h...@vkb.de> 
> > An: Maven Integration for Eclipse users mailing list 
<m2e-users@eclipse.org> 
> > Datum: 18.04.2017 15:37 
> > Betreff: Re: [m2e-users] m2e-wtp, war overlays and shared resources 
> > Gesendet von: m2e-users-boun...@eclipse.org 
> > 
> > Hi, 
> > 
> > referencing an older thread of mine... 
> > 
> > I'm having problems with m2e-wtp on a multi-module project that 
produces 
> > a few EARs with WARs that use overlays: Deploying such a WAR on Tomcat 
8.
> > 5.x or the corresponding EAR to Wildfly 10.1 is unsuccessful, the 
> > application doesn't start correctly because of missing resources in 
the 
> > WAR's WEB-INF folder. 
> > 
> > Basic structure of my project: 
> > 
> > app-main 
> > +- app-form-resources 
> > +- app-xsl-resources 
> > +- app-jar 
> >    +- mvn-p1 
> >    +- mvn-p2 
> >    +- ... 
> >    \- mvn-pn 
> > +- app-war 
> >    +- app-jar 
> >    +- mvn-p1-resources 
> >    +- mvn-p2-resources 
> >    +- ... 
> >    \- mvn-pn-resources 
> > +- app-ear 
> >    \- app-war 
> > 
> > The other mentioned WARs and EARs are basically the same as 
app-war/app-
> > ear, but with a few customized files under WEB-INF. Anyway. 
> > 
> > P1...n are legacy projects in our Subversion repository containing 
both 
> > Java sources and resource files (JavaScript, HTML, XML, XSL etc.) and 
are
> > used in other applications built in our department. So far I have 
created
> > a Maven-compatible "layer" for each of these projects and factored out 

> > Java files and resources: 
> > * mvn-pX contains only the Java sources from project X (under 
src/main/java) 
> > * mvn-pX-resources contains the legacy project's resources (directly 
> > under src/main/resources) 
> > 
> > The same holds for app-form-resources and app-xsl-resources: two 
projects
> > that contain resources from the legacy project for which I'm building 
the
> > Maven layer. 
> > 
> > All resource projects are of type "jar" and used as dependency with 
scope
> > "provided" in app-war: 
> > 
> > <dependency> 
> >         <groupId>mygroup</groupId> 
> >         <artifactId>mvn-p1-resources</artifactId> 
> >         <version>...</version> 
> >         <scope>provided</scope> 
> > </dependency> 
> > 
> > To put the resources in the correct place I'm using overlays: 
> > 
> > <plugin> 
> >         <groupId>org.apache.maven.plugins</groupId> 
> >         <artifactId>maven-war-plugin</artifactId> 
> >         <version>3.0.0</version> 
> >         <configuration> 
> >                 <filteringDeploymentDescriptors>true</
> > filteringDeploymentDescriptors> 
> > 
> >                 <overlays> 
> >                         <overlay> 
> >                                 <groupId>${project.groupId}</groupId> 
> >                                 
<artifactId>app-xsl-resources</artifactId> 
> >                                 <type>jar</type> 
> >                                 <targetPath>/WEB-INF/xsl</targetPath> 
> >                         </overlay> 
> >                         <overlay> 
> >                                 <groupId>${project.groupId}</groupId> 
> >                                 
<artifactId>app-form-resources</artifactId> 
> >                                 <type>jar</type> 
> >                                 <targetPath>/form</targetPath> 
> >                         </overlay> 
> > 
> >                         <overlay> 
> >                                 <groupId>group1</groupId> 
> >                                 
<artifactId>mvn-p1-resources</artifactId> 
> >                                 <type>jar</type> 
> >                                 <targetPath>/</targetPath> 
> >                                 <includes> 
> >                                         <include>**/*.css</include> 
> >                                         <include>**/*.js</include> 
> >                                 </includes> 
> >                         </overlay> 
> >                         <overlay> 
> >                                 <groupId>group1</groupId> 
> >                                 
<artifactId>mvn-p1-resources</artifactId> 
> >                                 <type>jar</type> 
> >                                 <targetPath>/WEB-INF</targetPath> 
> >                                 <includes> 
> >                                         <include>**/*.x*</include> 
> >                                         <include>**/*.js</include> 
> >                                 </includes> 
> >                         </overlay> 
> > 
> >                         <overlay> 
> >                                 <groupId>group2</groupId> 
> >                                 
<artifactId>mvn-p2-resources</artifactId> 
> >                                 <type>jar</type> 
> >                                 <targetPath>/form</targetPath> 
> >                                 <includes> 
> >                                         <include>**/*.css</include> 
> >                                         <include>**/*.js</include> 
> >                                 </includes> 
> >                         </overlay> 
> > 
> >                         <overlay> 
> >                                 <groupId>group3</groupId> 
> >                                 
<artifactId>mvn-p3-resources</artifactId> 
> >                                 <type>jar</type> 
> >                                 <targetPath>/form</targetPath> 
> >                                 <includes> 
> >                                         <include>**/*.js</include> 
> >                                 </includes> 
> >                         </overlay> 
> >                         <overlay> 
> >                                 <groupId>group3</groupId> 
> >                                 
<artifactId>mvn-p3-resources</artifactId> 
> >                                 <type>jar</type> 
> >                                 <targetPath>/WEB-INF/xsl</targetPath> 
> >                                 <excludes> 
> >                                         <exclude>**/*.js</exclude> 
> >                                         <exclude>META-INF/**</exclude> 

> >                                 </excludes> 
> >                         </overlay> 
> > 
> >                         ... 
> >                 </overlays> 
> >         </configuration> 
> > </plugin> 
> > 
> > 
> > My problem is that the EAR builds successfully on the command line and 

> > contains all specified resources in their correct place, but with WTP 
/ 
> > m2e-wtp problems arise: 
> > 
> > * Deploying app-war to Tomcat or app-ear to Wildfly doesn't work; the 
> > resources from app-form-resources, app-xsl-resources and mvn-p1...3-
> > resources are completely missing 
> > * When I right-click in the package explorer view on app-war and open 
the
> > properties, I see a few warnings in the deployment assembly dialog 
page: 
> >   Cannot find entry: app-form-resources 
> >   The same warning entry for app-xsl-resources and 
mvn-p1...3-resources 
> >   Other referenced (resource) projects are correctly listed without 
> > errors/warnings. 
> > * Starting app-ear in Wildfly and having a look in the folder 
<wildfly-
> > home>/standalone/deployments you can see that all other resource 
projects
> > are correctly contained/deployed. 
> > 
> > All resource projects have the same structure and basically differ 
only 
> > in their GAV coordinates and referenced resource files. 
> > Changing the order of the overlay entries doesn't make any difference, 

> by the way.
> > 
> > 
> > Do you have any idea what can cause this strange behaviour? 
> > 
> > 
> > Regards 
> > 
> > Thorsten 
> > 
> > 
> > 
> > m2e-users-boun...@eclipse.org schrieb am 26.02.2015 19:14:47:
> > 
> > > Von: Fred Bricon <fbri...@gmail.com> 
> > > An: Maven Integration for Eclipse users mailing list 
<m2e-users@eclipse.org> 
> > > Datum: 26.02.2015 19:15 
> > > Betreff: Re: [m2e-users] m2e-wtp, war overlays and shared resources 
> > > Gesendet von: m2e-users-boun...@eclipse.org 
> > > 
> > > 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 
<thorsten.h...@vkb.de> 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
> > > m2e-users@eclipse.org
> > > 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
> > > m2e-users@eclipse.org
> > > To change your delivery options, retrieve your password, or 
unsubscribe 
> > > from this list, visit
> > > 
> https://dev.eclipse.org/mailman/listinfo/m2e-users
> 
> > _______________________________________________
> > m2e-users mailing list
> > m2e-users@eclipse.org
> > To change your delivery options, retrieve your password, or 
unsubscribe 
> > from this list, visit
> > https://dev.eclipse.org/mailman/listinfo/m2e-users
> 
> _______________________________________________
> m2e-users mailing list
> m2e-users@eclipse.org
> 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
> And if that fails, then http://goo.gl/tnBgH5
> _______________________________________________
> m2e-users mailing list
> m2e-users@eclipse.org
> To change your delivery options, retrieve your password, or unsubscribe 
> from this list, visit
> https://dev.eclipse.org/mailman/listinfo/m2e-users

Attachment: foo.tar.bz2
Description: Binary data

_______________________________________________
m2e-users mailing list
m2e-users@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from 
this list, visit
https://dev.eclipse.org/mailman/listinfo/m2e-users

Reply via email to