On 22/12/2010 3:58 AM, Hauschel Fred Robert wrote:
Hi Ron,
so we are now speaking about a m2Eclipse problem, and that is the wrong list!

Example: You have a webApp<packaging>war</packaging>  and in it a dependency to 
(for example) commons-logging with scope provided.
If you now use commons-logging in a servlet, and run your webapp in eclipse 
(WTP - run on srever), so the classpath will not contain
commons-logging.

Can you conform that ??

Since it is scope "provided", you must provide provide it. Your server must be set up to have commons-logging in its classpath. We have aggregation projects that create jars that combine many artifacts so that we only have to install a few jars (10) in the server (tomcat/lib in our case) to get the 70+ 3rd party libraries that we need.

This means that in order to set up a test or production environment for a release, we have to install the aggregation JARs and set up the JNDI on the server.
This is only done once.


Ron

Fredy


-----Ursprüngliche Nachricht-----
Von: Ron Wheeler [mailto:rwhee...@artifact-software.com]
Gesendet: Mittwoch, 22. Dezember 2010 09:35
An: users@maven.apache.org
Betreff: Re: AW: AW: AW: releas:perform with profiles fails

On 22/12/2010 2:56 AM, Hauschel Fred Robert wrote:
See inline...

-----Ursprüngliche Nachricht-----
Von: Ron Wheeler [mailto:rwhee...@artifact-software.com]
Gesendet: Dienstag, 21. Dezember 2010 17:17
An: users@maven.apache.org
Betreff: Re: AW: AW: releas:perform with profiles fails

On 21/12/2010 4:28 AM, Hauschel Fred Robert wrote:
Ok, maybe "<packagingExcludes>WEB-INF/lib/*.jar</packagingExcludes>"
Explained in 
http://maven.apache.org/plugins/maven-war-plugin/examples/skinny-wars.html is a 
better way ;-)

Sounds like too much work to copy a bunch of libraries into each project
and then exclude them when maven already has a transitive dependency
mechanism that supports scope "provided".

[HF:] Maybe! But m2Eclipse plugin does not use provided libraries in it's 
classpath for wtp projects.
Are you sure?
It seems to work for us with no problems but perhaps I don't understand
where you ran into the problems.
With Eclipse/STS we are also insulated from plug-ins since they all come
pre-installed.
   And our goal is to make it as simple as possible for the developers. Maybe 
this is the problem ,-)
That is what we did as well. Simple parent POM, small set of
dependencies. 3rd party dependencies all neatly packaged up when a new
release is planned.
Modules are easy to construct and the Maven tasks are just a click on a
menu.
No profiles, no custom plug-ins only 3 or 4 standard Maven plug-in are
used to build a portal that has over 60 Web services, JSF, portlets,
servlets and batch jobs.
Libraries are very stable and we know exactly what versions of 3rd party
software are included in any version of the application.

Thanks for your help, we will see, how to solve the "thing".

You are quite welcome.
Good luck with getting this setup.

Ron

Fredy



-----Ursprüngliche Nachricht-----
Von: Hauschel Fred Robert [mailto:fredrobert.hausc...@cirquent.de]
Gesendet: Dienstag, 21. Dezember 2010 10:06
An: Maven Users List
Betreff: AW: AW: releas:perform with profiles fails

Hi Ron,
thank you very much for your hint!
We are actual converting a "historical" ant builded project to maven.
Profiles are really a bad way to solve our problems, but in the moment it is "a 
way" to get the whole stuff running and be able to provide a release.

Providing configuration is just one problem, that we actually solve with 
profiles!
The major problem is to provide separate different dependencies for m2Eclipse 
and tomcat in the webapps.
We solve this with profiles and properties:

parentPom:

        <profiles>
                <profile>
                        <id>container</id>
                        <properties>
                                <scope>provided</scope>
                        </properties>
                </profile>
                <profile>
                        <id>eclipse</id>
                        <activation>
                                <activeByDefault>true</activeByDefault>
                        </activation>
                        <properties>
                                <scope>compile</scope>
                        </properties>
                </profile>
        </profiles>

ModulePom:
        <profiles>
                <profile>
                        <id>dependencies</id>
                        <activation>
                                <activeByDefault>true</activeByDefault>
                        </activation>
                        <dependencies>
                                <dependency>
                                        <groupId>commons-logging</groupId>
                                        <artifactId>commons-logging</artifactId>
                                        <scope>${scope}</scope>
                                </dependency>
                                <dependency>
                                        <groupId>xyz<groupId>
                                        <artifactId>xyz_common</artifactId>
                                        <scope>${scope}</scope>
                                </dependency>
                        </dependencies>
                </profile>
        </profiles>


That works for now, but we are not really happy yet!
We will provide all dependencies in tomcat/lib so we actual have all dependencies 
"provided" in our libraries.
So each webApp have to define it's dependencies (again), transitive dependencies are 
"switched off".
The other way would be to use the default (compile) dependencies in the 
libraries and exclude all transitive dependencies for production build.

Any better idea ?

Fredy

-----Ursprüngliche Nachricht-----
Von: Ron Wheeler [mailto:rwhee...@artifact-software.com]
Gesendet: Montag, 20. Dezember 2010 16:33
An: users@maven.apache.org
Betreff: Re: AW: releas:perform with profiles fails

On 20/12/2010 10:20 AM, Hauschel Fred Robert wrote:
Found a workarround:

http://www.tutorials.de/java/347377-maven-release-plugin-und-profile-activation.html

Fredy
You will be back.
Search this forum for discussions of profiles and environments.
The road to Maven hell is paved with profiles.

Just as "good intentions" are wonderful on their own, profiles can lead
you to do things that will get you into bad situations.
Not to say that they are evil in themselves and do not have good uses.
This is not one of them.

Ron
-----Ursprüngliche Nachricht-----
Von: Hauschel Fred Robert [mailto:fredrobert.hausc...@cirquent.de]
Gesendet: Montag, 20. Dezember 2010 15:23
An: Maven Users List
Betreff: releas:perform with profiles fails

Hi list,
I've a multi module with differences between the prod and dev
environment. Threfor I've defined some profiles.
"mvn clean install -P devContainerSettings,dependencies,!eclipse" works
fine!

but  "mvn --batch-mode release:prepare -P
devContainerSettings,dependencies,!eclipse" fails with compilations
errors!

Any idea??

Apache Maven 3.0 (r1004208; 2010-10-04 13:50:56+0200)
Java version: 1.6.0_21
Java home: C:\Program Files\Java\jdk1.6.0_21\jre
Default locale: de_DE, platform encoding: Cp1252
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"

Fredy


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to