Re: Site deploy problem
site-plugin-2.3 has some problems with property resolution, see eg http://jira.codehaus.org/browse/MSITE-585. I'm not sure if this is the same issue as yours, could you try with 2.4-SNAPSHOT? HTH, -Lukas Johan Vogelzang wrote: Oh I forgot... I use Maven 2.2.1 and maven-site-plugin version 2.3. The behavior is the same on Windows and Linux. Johan. 2011/7/13 Johan Vogelzangjohan.vogelz...@gmail.com Hi Maven users, I've a problem with deploying a site to an url containing property variables. The site url -as part of the distributionManagement section- is located in the company parent pom: properties reposerver.host.namemyrepohost/reposerver.host.name /properties ... distributionManagement site idsite-repo/id urlscp://${reposerver.host.name}/var/www/html/maven2/sites/url /site /distributionManagement When I execute mvn help:effective-pom I see that the url is correctly resolved to: scp://myrepohost/var/www/html/maven2/sites But when I execute mvn site-deploy the build fails with an UnknownHostException. In the logging I see that the url is not resolved: [INFO] [site:deploy {execution: default-deploy}] scp://${reposerver.host.name}/var/www/html/maven2/sites - Session: Connection refused scp://${reposerver.host.name}/var/www/html/maven2/sites - Session: Disconnecting scp://${reposerver.host.name}/var/www/html/maven2/sites - Session: Disconnected [INFO] [ERROR] BUILD ERROR [INFO] [INFO] Error uploading site Embedded error: Cannot connect. Reason: java.net.UnknownHostException: ${ reposerver.host.name} Thanks in advance, -- Johan Vogelzang - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
adding servers for a maven project
i am having a archetype for wicket guice warp persist hibernate it has a default jetty plugin i want to use application server such as tomcat, webphere community server what i have to do to get that stuff working. i am using eclipse IDE -- View this message in context: http://maven.40175.n5.nabble.com/adding-servers-for-a-maven-project-tp4568298p4568298.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Problems using Maven to build servicemix.
Hi, I am really new to servicemix. I want to build a project on orchestration using servicemix. I am having serious problems with maven. I want to use maven2.0.8 and I use Mac OSX. I am not able to build anything. Do you have any idea how to get rid of the issue? Please advise me how to proceed. I am really stuck...!!! My Error trace is as follows: ___ INFO] Error building POM (may not be this project's POM). Project ID: unknown POM Location: /Users/sanju/citytime/pom.xml Reason: Not a v4.0.0 POM. for project unknown at /Users/sanju/citytime/pom.xml [INFO] [INFO] Trace org.apache.maven.reactor.MavenExecutionException: Not a v4.0.0 POM. for project unknown at /Users/sanju/citytime/pom.xml at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:376) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:289) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126) at org.apache.maven.cli.MavenCli.main(MavenCli.java:282) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: org.apache.maven.project.InvalidProjectModelException: Not a v4.0.0 POM. for project unknown at /Users/sanju/citytime/pom.xml at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1405) at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1377) at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:474) at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:197) at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:548) at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:458) at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:362) ... 11 more - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Not able to build using maven 2.0.8
Hi, I am new to Maven.I want to build a project on orchestration using servicemix. I am having serious problems with maven. I want to use maven2.0.8 and I use Mac OSX. I am not able to build anything. Do you have any idea how to get rid of the issue? Please advise me how to proceed. I am really stuck...!!! My Error trace is as follows: ___ INFO] Error building POM (may not be this project's POM). Project ID: unknown POM Location: /Users/sanju/citytime/pom.xml Reason: Not a v4.0.0 POM. for project unknown at /Users/sanju/citytime/pom.xml [INFO] [INFO] Trace org.apache.maven.reactor.MavenExecutionException: Not a v4.0.0 POM. for project unknown at /Users/sanju/citytime/pom.xml at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:376) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:289) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126) at org.apache.maven.cli.MavenCli.main(MavenCli.java:282) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: org.apache.maven.project.InvalidProjectModelException: Not a v4.0.0 POM. for project unknown at /Users/sanju/citytime/pom.xml at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1405) at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1377) at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:474) at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:197) at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:548) at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:458) at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:362) ... 11 more -- View this message in context: http://maven.40175.n5.nabble.com/Not-able-to-build-using-maven-2-0-8-tp4569803p4569803.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Enabling functionality for all profiles BUT one?
Hi all, I've got an interesting situation where I need to disable functionality for one profile only. Well, unless of course there's a better solution to the problem. In my project, we have a number of different submodules. One of these modules (client) generates web service client JARs based on a schema file placed in the Maven repo by a previous module (it uses dependency:copy to pull down the schema file). Now this works all well and good unless I try to build the site. When I do *that*, a bug in Maven (MDEP-259) makes the client module fail outright with errors. My natural tendency would be just to disable the client module for the profile used for site generation. However, we have a number of other profiles, all of which should have this enabled. For reasons that should be obvious, I'd really rather not define a modules block for every profile. Any thoughts/ideas? Thanks - Don - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: Problems using Maven to build servicemix.
1. Use Maven 2.2.1 or 3.0.3. I haven't tracked SM or whether it's m3 based. 2. Make sure you are running Maven in a directory that has a proper POM. It appears yours is not valid. On Jul 9, 2011, at 11:58 PM, Sanjana Kadaba Viswanath wrote: Hi, I am really new to servicemix. I want to build a project on orchestration using servicemix. I am having serious problems with maven. I want to use maven2.0.8 and I use Mac OSX. I am not able to build anything. Do you have any idea how to get rid of the issue? Please advise me how to proceed. I am really stuck...!!! My Error trace is as follows: ___ INFO] Error building POM (may not be this project's POM). Project ID: unknown POM Location: /Users/sanju/citytime/pom.xml Reason: Not a v4.0.0 POM. for project unknown at /Users/sanju/citytime/pom.xml [INFO] [INFO] Trace org.apache.maven.reactor.MavenExecutionException: Not a v4.0.0 POM. for project unknown at /Users/sanju/citytime/pom.xml at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:376) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:289) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126) at org.apache.maven.cli.MavenCli.main(MavenCli.java:282) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: org.apache.maven.project.InvalidProjectModelException: Not a v4.0.0 POM. for project unknown at /Users/sanju/citytime/pom.xml at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1405) at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1377) at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:474) at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:197) at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:548) at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:458) at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:362) ... 11 more - 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
Re: Enabling functionality for all profiles BUT one?
I'd create a plugin that wraps your troublesome plugin with Tim Moore's awesome mojo-executor library at https://github.com/TimMoore/mojo-executor. I just got done using it for a Real Big Client and it works great. Just have your plugin gracefully return with a warning when the environment is ripe for failure. Problem solved. Remove the plugin when MDEP-259 is fixed. HTH, Brian On Jul 10, 2011, at 9:39 AM, Brinker, Don wrote: Hi all, I've got an interesting situation where I need to disable functionality for one profile only. Well, unless of course there's a better solution to the problem. In my project, we have a number of different submodules. One of these modules (client) generates web service client JARs based on a schema file placed in the Maven repo by a previous module (it uses dependency:copy to pull down the schema file). Now this works all well and good unless I try to build the site. When I do *that*, a bug in Maven (MDEP-259) makes the client module fail outright with errors. My natural tendency would be just to disable the client module for the profile used for site generation. However, we have a number of other profiles, all of which should have this enabled. For reasons that should be obvious, I'd really rather not define a modules block for every profile. Any thoughts/ideas? Thanks - Don - 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
Re: Enabling functionality for all profiles BUT one?
With version 2.3 of the m-dependency-p the copy and unpack goals will now resolve from the reactor. you seem to be using dependency:copy-dependencies and not dependency:copy if you are referring to MDPE-259 If you replace dependency:copy-dependencies with dependency:copy you can use the artifactItem to refer exactly to the schema file that you are attaching to the reactor rather than having to pull in the jar file... Another solution would be to bind jar:jar to the pre-site phase in the module in question (so that the packaged jar is available in a multi-module site generation. On 10 July 2011 17:39, Brinker, Don dbrin...@collegeboard.org wrote: Hi all, I've got an interesting situation where I need to disable functionality for one profile only. Well, unless of course there's a better solution to the problem. In my project, we have a number of different submodules. One of these modules (client) generates web service client JARs based on a schema file placed in the Maven repo by a previous module (it uses dependency:copy to pull down the schema file). Now this works all well and good unless I try to build the site. When I do *that*, a bug in Maven (MDEP-259) makes the client module fail outright with errors. My natural tendency would be just to disable the client module for the profile used for site generation. However, we have a number of other profiles, all of which should have this enabled. For reasons that should be obvious, I'd really rather not define a modules block for every profile. Any thoughts/ideas? Thanks - Don - 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
Re: Parent Pom and maven goals for only war projects
You can check this post: http://stackoverflow.com/questions/6677440/parent-pom-and-maven-goals-for-only-war-projects -- View this message in context: http://maven.40175.n5.nabble.com/Parent-Pom-and-maven-goals-for-only-war-projects-tp4582234p4585882.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: configure Maven to dynamically select profiles
You can use Maven profiles and Resource Filtering. You can set up different profiles and define which resources to use for them. -- View this message in context: http://maven.40175.n5.nabble.com/configure-Maven-to-dynamically-select-profiles-tp4581942p4585910.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: configure Maven to dynamically select profiles
If it is runtime properties I would consider externalizing them and put them on the file system or JNDI on your application server. -ketil - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: Parent Pom and maven goals for only war projects
thanks guys for your attention. I have solved my problem as @stephenconnolly described. But I will keep in my mind your suggestions. -- View this message in context: http://maven.40175.n5.nabble.com/Parent-Pom-and-maven-goals-for-only-war-projects-tp4582234p4585936.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: configure Maven to dynamically select profiles
You would have to put them on your local development machine and on your CI server to be able to run the tests ofc. -ketil 2011/7/14 Ketil Aasarød ketil.aasa...@gmail.com: If it is runtime properties I would consider externalizing them and put them on the file system or JNDI on your application server. -ketil -- Med hilsen, Ketil Aasarød Fundator AS +47 930 96 411 - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
AW: AW: Locking down default plugin versions
Thx for your respones. I was aware of the best practive approach to lock down plugin versions, which I already did for several non default lifecycle plugins like enforcer, antrun, release, scm, resources, antlr3, dependency etc.. But I didn't for deploy plugin, because I thought default maven plugins are specified by the currently used M3 version, which is tagged with my builds and because M3 didn't told me so, there were only warnings in combination with the release plugin. Now, I going to lock down every plugin which is used for the build. Greez Chris -Ursprüngliche Nachricht- Von: Barrie Treloar [mailto:baerr...@gmail.com] Gesendet: Donnerstag, 14. Juli 2011 01:35 An: Maven Users List; joerg.schai...@gmx.de Betreff: Re: AW: Locking down default plugin versions On Thu, Jul 14, 2011 at 1:27 AM, Jörg Schaible joerg.schai...@gmx.de wrote: Moser, Christian wrote: Each plugin decides if it will allow skip, and so the plugin still needs to get loaded to decide whether to skip. This makes sense. Will add javadoc-plugin. What do you mean by maven super pom? Maybe maven super pom was confusing sorry for that. I meant the place where maven specified, which version for the default plugins is used. For example, M3 will show a warning if you use, for example versions-plugin without declaring a version in the pom. But I guess it's possible to run a build without declaring deploy-plugin and not to receive a warning. So, somewhere the deploy-plugin is declared for the current Maven version, isn't it? I think the default version is LATEST, which means there is no locking down of versions But this is the whole point of locking them down: Different Maven versions define also different plugin versions. How should your build be repeatable then? As Jörg points out, that means your build is not repeatable. In a years time, if someone checks out your tagged source and run maven it may work, but chances are there are new features in the build that may cause gotchas. To avoid these its best practice to lock down versions of plugins in your corporate pom. I see you've already got enforcer, so over time as you run through all the lifecycles you will gradually fill in the blanks for any unspecified plugins into your corporate pom. - 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
verify signatures of downloaded poms and jars
Hello, I was trying to find if there are some SSL enabled central repositories but didn't find one. I noticed that there are signatures for (mostly) every jar and pom file in maven central repository. I would like to force maven (2/3) to automatically verify signatures of downloaded files. Is it possible yet? I guess these are the public keys for maven central https://svn.apache.org/repos/asf/maven/project/KEYS. Am I right? Thank you for help. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: verify signatures of downloaded poms and jars
On Thu, Jul 14, 2011 at 8:08 AM, Igory Lr igory...@gmail.com wrote: I was trying to find if there are some SSL enabled central repositories but didn't find one. I noticed that there are signatures for (mostly) every jar and pom file in maven central repository. I would like to force maven (2/3) to automatically verify signatures of downloaded files. Is it possible yet? It comes up occasionally, but I don't think anyone has implemented it yet. (Or if they have, it hasn't been contributed back.) I guess these are the public keys for maven central https://svn.apache.org/repos/asf/maven/project/KEYS. Am I right? Those are only the keys for people who have done releases of Maven itself (or a plugin.) You'd need to get the keys for whichever project you're interested in. -- Wendy - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Maven environment configurations
I sent this to Anders Hammar but i thought i would cross post this to the community as well: In the past i have used profiles for environment configuration (uat, prod etc.) but as most people know this becomes quite problematic (different profile causes rebuild and redploy with env specific settings etc. and what's more maven forces the recompilation.. i can think of a million more reasons too!) What i currently have is just plan java projects (no j2ee, or frameworks etc.) that are client/server based. I typically end up with a client, a server and a 'common' jar that is shared by both other artifacts. I also have a parent pom to control dependencies across all artifacts (but they are not modules as the gui can increment independantly of the server). - project-name - pom.xml - project-name-gui - src/main/java - src/main/resources - pom.xml - project-name-common - src/main/java - src/main/resources - pom.xml - project-name-server - src/main/java - src/main/resources - pom.xml All the resources directories here contain nothing but 'static' resources (images, dictionary files, static templates for 3rd parties i.e. these don't change and if they did, it would be for development reasons). It's at this point i get frustrated! What i need to achieve is: - being able to run a configured version of the server for my desktop (local) environment that can be run inside my IDE (eclipse or IDEA). This is of a very high importance to my team. - being able to deploy a configured version of the server to a particular environment (DEV, UAT, PROD etc.). - I don't have a database or a ubiquitious jndi server available (machines are across firewalls) to store configuration. It also seems like overkill for what we need. My current idea is as follows: Create a project called project-name-build (or -package) which is a jar project that only contains resource and deployment type directories. This should allow me to develop locally and release to different environments but it does place an environment specific version of my 'resources' jar into the repository (due to running the assembly). This dependency can be implemented if i make the server's pom depend on this artifact. This project would also have the assembly descriptor to create my environment specific tarballs as well. I don't like this idea at all but i cannot think about how better to seperate the jar build from the act of development and deployment! - project-name-build - src/main/filters - src/main/config - src/main/assembly - src/main/sql - src/main/scripts - pom.xml Any help you could give me here would be greatly appreciated! -- View this message in context: http://maven.40175.n5.nabble.com/Maven-environment-configurations-tp4586719p4586719.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: Maven environment configurations
Hi Mark, It sounds like you're right on the money. What you're looking to create is a distribution artifact using the maven assembly plugin. This will create a tar or zip which you can layout however you need to. I typically use this to create a zip file that has a bin directory for startup scripts, a conf directory for configuration files, and a lib directory for all of the jars. Hope this helps, Joe Hindsley On 07/14/2011 09:58 AM, mark.angrish wrote: I sent this to Anders Hammar but i thought i would cross post this to the community as well: In the past i have used profiles for environment configuration (uat, prod etc.) but as most people know this becomes quite problematic (different profile causes rebuild and redploy with env specific settings etc. and what's more maven forces the recompilation.. i can think of a million more reasons too!) What i currently have is just plan java projects (no j2ee, or frameworks etc.) that are client/server based. I typically end up with a client, a server and a 'common' jar that is shared by both other artifacts. I also have a parent pom to control dependencies across all artifacts (but they are not modules as the gui can increment independantly of the server). -project-name - pom.xml -project-name-gui - src/main/java - src/main/resources - pom.xml -project-name-common - src/main/java - src/main/resources - pom.xml -project-name-server - src/main/java - src/main/resources - pom.xml All the resources directories here contain nothing but 'static' resources (images, dictionary files, static templates for 3rd parties i.e. these don't change and if they did, it would be for development reasons). It's at this point i get frustrated! What i need to achieve is: - being able to run a configured version of the server for my desktop (local) environment that can be run inside my IDE (eclipse or IDEA). This is of a very high importance to my team. - being able to deploy a configured version of the server to a particular environment (DEV, UAT, PROD etc.). - I don't have a database or a ubiquitious jndi server available (machines are across firewalls) to store configuration. It also seems like overkill for what we need. My current idea is as follows: Create a project calledproject-name-build (or -package) which is a jar project that only contains resource and deployment type directories. This should allow me to develop locally and release to different environments but it does place an environment specific version of my 'resources' jar into the repository (due to running the assembly). This dependency can be implemented if i make the server's pom depend on this artifact. This project would also have the assembly descriptor to create my environment specific tarballs as well. I don't like this idea at all but i cannot think about how better to seperate the jar build from the act of development and deployment! -project-name-build - src/main/filters - src/main/config - src/main/assembly - src/main/sql - src/main/scripts - pom.xml Any help you could give me here would be greatly appreciated! -- View this message in context: http://maven.40175.n5.nabble.com/Maven-environment-configurations-tp4586719p4586719.html Sent from the Maven - Users mailing list archive at Nabble.com. - 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
Re: Maven environment configurations
I'm not sure I fully understand, but some general rules: 1) Keep all configuration outside the jars. If you don't want to use a database or jndi, you could always (which I very often recommend) just use a properties file read from the classpath. During runtime just make sure the properties file exists on the classpath. This type of config file might not even be handled in your scm as the configuration for each environment is not known during development. Default values (if possible) should be provided by the the application. 2) If you have other environment specific resources (images or whatever) you could handle those the same way. You could bundle those in a jar and put the jar on the classpath if you want. /Anders On Thu, Jul 14, 2011 at 15:58, mark.angrish mark.angr...@gmail.com wrote: I sent this to Anders Hammar but i thought i would cross post this to the community as well: In the past i have used profiles for environment configuration (uat, prod etc.) but as most people know this becomes quite problematic (different profile causes rebuild and redploy with env specific settings etc. and what's more maven forces the recompilation.. i can think of a million more reasons too!) What i currently have is just plan java projects (no j2ee, or frameworks etc.) that are client/server based. I typically end up with a client, a server and a 'common' jar that is shared by both other artifacts. I also have a parent pom to control dependencies across all artifacts (but they are not modules as the gui can increment independantly of the server). - project-name - pom.xml - project-name-gui - src/main/java - src/main/resources - pom.xml - project-name-common - src/main/java - src/main/resources - pom.xml - project-name-server - src/main/java - src/main/resources - pom.xml All the resources directories here contain nothing but 'static' resources (images, dictionary files, static templates for 3rd parties i.e. these don't change and if they did, it would be for development reasons). It's at this point i get frustrated! What i need to achieve is: - being able to run a configured version of the server for my desktop (local) environment that can be run inside my IDE (eclipse or IDEA). This is of a very high importance to my team. - being able to deploy a configured version of the server to a particular environment (DEV, UAT, PROD etc.). - I don't have a database or a ubiquitious jndi server available (machines are across firewalls) to store configuration. It also seems like overkill for what we need. My current idea is as follows: Create a project called project-name-build (or -package) which is a jar project that only contains resource and deployment type directories. This should allow me to develop locally and release to different environments but it does place an environment specific version of my 'resources' jar into the repository (due to running the assembly). This dependency can be implemented if i make the server's pom depend on this artifact. This project would also have the assembly descriptor to create my environment specific tarballs as well. I don't like this idea at all but i cannot think about how better to seperate the jar build from the act of development and deployment! - project-name-build - src/main/filters - src/main/config - src/main/assembly - src/main/sql - src/main/scripts - pom.xml Any help you could give me here would be greatly appreciated! -- View this message in context: http://maven.40175.n5.nabble.com/Maven-environment-configurations-tp4586719p4586719.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: Not able to build using maven 2.0.8
There is something seriously wrong with the pom. Is it a Maven 2 pom? You haven't provided a link to it so it's hard to tell... /Anders On Sun, Jul 10, 2011 at 09:06, sanjana kadabasa...@gmail.com wrote: Hi, I am new to Maven.I want to build a project on orchestration using servicemix. I am having serious problems with maven. I want to use maven2.0.8 and I use Mac OSX. I am not able to build anything. Do you have any idea how to get rid of the issue? Please advise me how to proceed. I am really stuck...!!! My Error trace is as follows: ___ INFO] Error building POM (may not be this project's POM). Project ID: unknown POM Location: /Users/sanju/citytime/pom.xml Reason: Not a v4.0.0 POM. for project unknown at /Users/sanju/citytime/pom.xml [INFO] [INFO] Trace org.apache.maven.reactor.MavenExecutionException: Not a v4.0.0 POM. for project unknown at /Users/sanju/citytime/pom.xml at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:376) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:289) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126) at org.apache.maven.cli.MavenCli.main(MavenCli.java:282) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: org.apache.maven.project.InvalidProjectModelException: Not a v4.0.0 POM. for project unknown at /Users/sanju/citytime/pom.xml at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1405) at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1377) at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:474) at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:197) at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:548) at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:458) at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:362) ... 11 more -- View this message in context: http://maven.40175.n5.nabble.com/Not-able-to-build-using-maven-2-0-8-tp4569803p4569803.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Help - client extensions in WAR file
Hi all, I have a WAR which exposes an extension point: MyStrategyInterface. I then have a number of clients who all provide their own implementation of said extension. The code is structured so there is a web-project and then multiple client-projects which only contain the extension point. The build (using gradle) in each client project builds the WAR, unpacks it, inserts the client JAR into WEB-INF/lib and then repacks the WAR. Yes, I know. Really :) Logically at runtime, there is a circular dependency - the WAR *requires* a client and the client has a static dependency on the strategy in the WAR, but we can get away with it because one direction is at compile time and the other is at run-time. How would I do this with maven? My thoughts: - include the clients in separate source trees in the web project and use profiles or an environment variable to select which one to include (i.e. mvn -Dclient=clientX would include the source code for clientX). The client's have their own tests as well, so I would need to do this for the testing lifecycle as well. - use the existing structure and do some custom magic at certain points in the assembly lifecycle in the client - building the client war is done by the client project - separate out the strategy into its own project and then do some magic to change the dependency in the WAR to one of the client projects - build the client war is done by the web project This cannot be a unique requirement - and I have read the manual, but it just isn't clicking... I am not sure what terminology to search for in google either I understand (and am using elsewhere) pom hierarchies, but this needs more than that I think. Help please :) (I am using maven3) Col
maven-failsafe-plugin runOrder random re-play?
Hi all, I have added a builder to our CI system that runs our tests with runOrder set to random in order to expose hidden dependencies between tests. Is there currently any means of capturing the order that was used, and then replaying that order back? For example, if the CI builder exposes a problem, it would be great to be able to reproduce the problem by repeating the test order in a development environment, fix the test, and then run in the same order to validate the fix. Thanks! -- Josh
Re: Maven environment configurations
I think there is a disconnect somewhere as I have noticed a lot of requests similar to mine but I haven't really seen an 'elegant' solution for it so here goes! Let's make up an example that may highlight the problem a little more. *myproject-gui *(lets not worry whats in here for now) *myproject-common* (contains java utility and shared api between server and gui. This is a code only project.. no configuration in here.) *myproject-server *(server side code that must be configured to move it through environments) Let's break down the server project: *myproject-server/* /- src/main/java/ /(java code, implements lots of 3rd party products plus my own business logic) /- src/main/resources/ (static content, but in this case to avoid confusion lets say it is empty) /- pom.xml /(only contains third party dependencies) So far we only have seen binary projects. Now on to how we configure it: *myproject-build/* / - src/main/config /(contains third party configuration files. Lets pretend for now this is logback.xml, spring-applicationContext.xml, and other proprietary configurations that i want to change the values of through the different environments. One alternative is to use filters applied to property place holders and the other is to have all configuration in different folders marked by environment) /- src/sql /(sql files for setting up different environments.. i use the mvn sql plugin whose properties are configured from my settings.xml) /- src/scripts /(scripts that also have to be configured per environment, different JAVA_HOME's, different VM options etc) /- src/assembly/ (creates my tarball artifact which is made up of myproject-server depdencies into a lib directory, an empty logs directory and a bin and config direction (the config dir is added to the classpath). /- pom.xml /(only sepcifies myproject-server as a dependency and has lots of build plugins) /*Like most others i am using maven to provide a mechanism to not only build my projects, but also configure them for different runtime environments.*/. I can't seperate out configuration completely otherwise developers cannot work on their projects in their IDE (eclipse, intellij) and i have to hunt another configuration mechanism for my other environments (JNDI, databases etc.). If there is an easy way to do this with maven and eclipse so that it's seemless im all ears! Given my example project and that i have already seperated out my binaries from my configuration: * 1) How can i use maven in a nice way to configure my properties, both during development and when deploying to various environments?* *2) How do i set third party properties (e.g. what is my log level for log4j? what appender will i use? etc.) using this properties on the classpath technique that you mention?* These third party properties get read directly by their own jars/api's so i don't understand how to property replace this at runtime (which is what i think you are saying). As a side note: Lot's of other posters tend to place their configuration via profile properties into their jars. I agree this practice is bad but i can see why they do it as based on how maven is documented and there lacks an easy to understand alternative to doing this. It also doesn't help that no one has really refuted the 'ant way' in the online doc. -- View this message in context: http://maven.40175.n5.nabble.com/Maven-environment-configurations-tp4586719p4587318.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: Maven environment configurations
How do you get this to work in your IDE? -- View this message in context: http://maven.40175.n5.nabble.com/Maven-environment-configurations-tp4586719p4587322.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Maven 3 builds take much longer to run in 3.0.3 than in 3.0b1
I'm trying to track down the reason that our builds take much longer to build under 3.0.3 rather than 3.0b1. Under 3.0.3, our build takes around 9 minutes, whereas under 3.0b1, it's 3 minutes and 30 seconds. While using jconsole, I saw that most of the time (in 3.0.3) is spent inside DefaultProjectDependenciesResolver.java. So I downloaded the source to both 3.0b1 and 3.0.3 to see what's happening. I noticed that in 3.0.3 there are two versions of the class. One is in org.apache.maven.project, while the other is in org.apache.maven. It also appears that in 3.0.3, the former is being used. While stepping through the code, I saw that bulk of the time is spent when it reaches this statement: node = repoSystem.collectDependencies( session, collect ).getRoot(); In 3.0b1, the code does: ArtifactResolutionResult result = repositorySystem.resolve( request ); I also noticed that respositorySystem is of the RepositorySystem, and the concrete implementation is LegacyRepositorySystem. I'm assuming that this was being used while the Maven 3 was in beta until the new implementation was created? Going back to 3.0.3, the collectDependencies method lives in DefaultRepositorySystem.java which is part of org.sonatype.aether.impl.internal. This eventually calls collectDependencies inside DefaultDependencyCollector.java which is also part of org.sonatype.aether.impl.internal. I'm assuming that this is how the dependency graph is built. My question is if there is a way to make this process faster? Could there be something wrong in the way we've set up our dependencies in our project which could cause this process to be so slow? -- View this message in context: http://maven.40175.n5.nabble.com/Maven-3-builds-take-much-longer-to-run-in-3-0-3-than-in-3-0b1-tp4587257p4587257.html Sent from the Maven - Users mailing list archive at Nabble.com.
Re: Maven environment configurations
On 14 July 2011 09:17, mark.angrish mark.angr...@gmail.com wrote: I think there is a disconnect somewhere as I have noticed a lot of requests similar to mine but I haven't really seen an 'elegant' solution for it so here goes! What I've done is create an environment variable that stores the directory where all configuration files can be found. Java knows about these. You can configure (e.g.) Spring to use such a dynamic directory too. Now every developer and every environment can have their own setup. This is OS and IDE independent, AFAICT. (I don't know if this qualifies as elegant but it works very well. :-) ) - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Runtime scope and transitive dependencies question (maybe maven-ear-plugin bug?)
The Maven documentation sayshttp://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope : Each of the scopes (except for import) affects transitive dependencies in different ways, as is demonstrated in the table below. If a dependency is set to the scope in the left column, transitive dependencies of that dependency with the scope across the top row will result in a dependency in the main project with the scope listed at the intersection. If no scope is listed, it means the dependency will be omitted. compileprovidedruntimetestcompilecompile(*)-runtime-providedprovided- provided-runtimeruntime-runtime-testtest-test- I have an ear project. It depends on a jar project and does not specify a scope. Therefore that jar project's scope is compile. The jar project has a jar dependency whose scope is runtime. If I am understanding the cryptic table above, my ear depends on a jar in compile scope (so the scope in the left hand column is compile). Then my jar depends on another jar--a transitive dependency--with scope runtime (so the scope in the top row is runtime). The intersection of compile-on-the-left and runtime-across-the-top is runtime. The main project is, of course, my ear project. When I do mvn package, my ear file does not contain this runtime dependency. Should it? Do I need to make the transitive dependency compile, even though it is not needed at compilation time by anyone? Is that expected behavior? Best, Laird
RE: maven-failsafe-plugin runOrder random re-play?
Sounds reasonable, but AFAIK this feature doesn't exist yet.please verify there's no such issue at JIRA[1] yet. If it's indeed new, please create an issue for it. -Robert [1] http://jira.codehaus.org/browse/SUREFIRE Date: Thu, 14 Jul 2011 12:08:54 -0400 Subject: maven-failsafe-plugin runOrder random re-play? From: jspie...@gmail.com To: users@maven.apache.org Hi all, I have added a builder to our CI system that runs our tests with runOrder set to random in order to expose hidden dependencies between tests. Is there currently any means of capturing the order that was used, and then replaying that order back? For example, if the CI builder exposes a problem, it would be great to be able to reproduce the problem by repeating the test order in a development environment, fix the test, and then run in the same order to validate the fix. Thanks! -- Josh
Re: Maven environment configurations
On Fri, Jul 15, 2011 at 12:38 AM, Anders Hammar and...@hammar.net wrote: I'm not sure I fully understand, but some general rules: 1) Keep all configuration outside the jars. If you don't want to use a database or jndi, you could always (which I very often recommend) just use a properties file read from the classpath. During runtime just make sure the properties file exists on the classpath. This type of config file might not even be handled in your scm as the configuration for each environment is not known during development. Default values (if possible) should be provided by the the application. 2) If you have other environment specific resources (images or whatever) you could handle those the same way. You could bundle those in a jar and put the jar on the classpath if you want. Mark, your developers are kept isolated from production, right? You don't want them knowing production passwords - which is what is going to happen if you are storing this information in your maven project's configuration files and then stored into your local repository manager. Generally, we even isolate developers away from QA as this needs to be a managed environment and its the tester's job to decide when and what gets loaded onto it. Developers have access to their local machine instances (DEV) and the shared INT environment - which ideally is autodeployed from your continuous build server. The base copy of all configuration files is set up to use the DEV so that you can work in your IDE and deploy easily to your local instances without faffing around with configuring stuff. All other configurations files are stored in a protected area of your version control system that only your deployment team has access to. The deployment team's job is also to copy across the correct files for the environment in question, and as Anders notes you load these files from the classpath (and never hard coded file paths) Ideally you want to automate this step. Some issues with this process are * the default DEV settings can get out of sync with the other environments - A way to alleviate that is to have configuration templates which only define the keys needed, so that something can compare the expected keys against the actual keys and check them. If there are too many keys something has gone wrong because an old configuration key is no longer in use. If there are not enough keys something has gone wrong because a new configuration key has not been configured. * the default DEV values can be accidentally used in a non-DEV environment. - You need to remove the developers' time saving steps of having DEV as the default and force them to configure the system. Ideally it would be scripted identically as your other environments as this is a great way to check that those scripts actually work. Your deployment plan should also include steps that double check configuration values are set to their expected values. And as you note Mark, guidance on this is next to non-existent and a lot of the steps (like configuration sanity checking, automated deployment of environment specific configuration files) are roll-your-own solutions instead of using a tried and tested system. If consensus can be reached then perhaps this should be written up on the maven user wiki? http://docs.codehaus.org/display/MAVENUSER/Home - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: how to enforce synchronization between source control and mvn deploy?
Hi, Very old thread, but very relevant to me right now. :) I'd like to follow up on point 1. We have multiple dev groups collaborating on some artifacts. It seems like once in a while an SCM update is not done before mvn deploy. This is quite an easy trap to fall into, even if you do a clean checkout when starting your work (everyone does, right?), someone could have checked in some updates and deployed a new version before you do both. Maven should certainly allow enforcement of this - it's pretty easy to check the sync status with SCM. Is this available in 2.2.1? If not out of the box, how hard would it be to write some sort of hook to the mvn deploy:deploy-file? -- View this message in context: http://maven.40175.n5.nabble.com/how-to-enforce-synchronization-between-source-control-and-mvn-deploy-tp92391p4589368.html Sent from the Maven - Users mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
AW: how to enforce synchronization between source control and mvndeploy?
We wrote a custom enforcer rule for maven-enforcer-plugin to check whether there is a newer revisions while maven was in install lifecycle (deploy lifecycle is to late to enforce, already deployed..). It wasn't that difficult but very helpful, it was really worth the work. You could for example use an SVN library and check with svn status -u in your custom enforcer rule or perhaps access maven-scm-plugin. Greets Chris -Ursprüngliche Nachricht- Von: CloudStrife [mailto:jpell...@atti.com] Gesendet: Freitag, 15. Juli 2011 06:57 An: users@maven.apache.org Betreff: Re: how to enforce synchronization between source control and mvndeploy? Hi, Very old thread, but very relevant to me right now. :) I'd like to follow up on point 1. We have multiple dev groups collaborating on some artifacts. It seems like once in a while an SCM update is not done before mvn deploy. This is quite an easy trap to fall into, even if you do a clean checkout when starting your work (everyone does, right?), someone could have checked in some updates and deployed a new version before you do both. Maven should certainly allow enforcement of this - it's pretty easy to check the sync status with SCM. Is this available in 2.2.1? If not out of the box, how hard would it be to write some sort of hook to the mvn deploy:deploy-file? -- View this message in context: http://maven.40175.n5.nabble.com/how-to-enforce-synchronization-between-source-control-and-mvn-deploy-tp92391p4589368.html Sent from the Maven - Users mailing list archive at Nabble.com. - 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