Do you have the following as a dependency?

        <dependency>
            <groupId>${jdbc.groupId}</groupId>
            <artifactId>${jdbc.artifactId}</artifactId>
            <version>${jdbc.version}</version>
        </dependency>

Also, you probably don't want this:

<src>web/src/main/resources/default-data.xml</src>
This is because the path is relative to each module. So when running from
the "web" module, you'll want it to be src/main/resources/default-data.xml.
Of course, if it's working the way you have it, you can ignore me. ;-)

Matt


On Sat, Sep 19, 2009 at 3:53 PM, taltun <tunca...@gmail.com> wrote:

>
> It works fine when I'm in web module or core module and calling the profile
> resides in the root pom...
>
> My problem is that it can't find the class for mysql driver when executing
> the mvn clean install -P production FROM THE ROOT POM...
>
> with this code (you should test it your self by putting below profile in
> your root pom and execute the mvn clean install -P production from the root
> pom too.)
> <profiles>
>
> <profile>
>            <id>production</id>
> <build>
>                <plugins>
>                     <plugin>
>                        <groupId>org.codehaus.mojo</groupId>
>                        <artifactId>dbunit-maven-plugin</artifactId>
>                         <configuration>
>
> <src>web/src/main/resources/default-data.xml</src>
>                         </configuration>
>                    </plugin>
>                </plugins>
>            </build>
>            <properties>
>
>
> <dbunit.dataTypeFactoryName>org.dbunit.dataset.datatype.DefaultDataTypeFactory</dbunit.dataTypeFactoryName>
>                <dbunit.operation.type>CLEAN_INSERT</dbunit.operation.type>
>
>
> <hibernate.dialect>org.hibernate.dialect.MySQL5InnoDBDialect</hibernate.dialect>
>                <jdbc.groupId>mysql</jdbc.groupId>
>                <jdbc.artifactId>mysql-connector-java</jdbc.artifactId>
>                <jdbc.version>5.0.5</jdbc.version>
>
> <jdbc.driverClassName>com.mysql.jdbc.Driver</jdbc.driverClassName>
>
>
> <jdbc.url><![CDATA[jdbc:mysql://localhost/testdb?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=utf-8]]></jdbc.url>
>            </properties>
>        </profile>
> </profiles>
>
>
>
> mraible wrote:
> >
> > Your problem might be that profiles aren't inherited. So if you're using
> a
> > multi-module project, I'd try moving the profiles to each module. I'm not
> > certain that profiles aren't inherited, but I recall reading it somewhere
> > in
> > the past.
> >
> > Matt
> >
> > On Fri, Sep 18, 2009 at 8:32 AM, taltun <tunca...@gmail.com> wrote:
> >
> >>
> >> Hi,
> >>
> >> This is my production profile resides in my root pom.xml file:
> >>
> >> <!-- ================= Production Settings Profile
> >> ========================== -->
> >>    <!-- Use "-P prod" when you want to run production mode
> >> -->
> >>    <!-- This profile skips hibernate3, dbunit repopulation and the test
> >> plugins. -->
> >>    <!--
> >> ========================================================================
> >> -->
> >>    <profiles>
> >>        <profile>
> >>            <id>prodx</id>
> >>            <activation>
> >>                <activeByDefault>false</activeByDefault>
> >>            </activation>
> >>            <build>
> >>
> >>                <plugins>
> >>                    <plugin>
> >>                        <artifactId>maven-surefire-plugin</artifactId>
> >>                        <configuration>
> >>                            <skip>true</skip>
> >>                        </configuration>
> >>                    </plugin>
> >>                     <plugin>
> >>                        <groupId>org.codehaus.mojo</groupId>
> >>                        <artifactId>dbunit-maven-plugin</artifactId>
> >>                        <version>1.0-beta-1</version>
> >>                        <configuration>
> >>                             <skip>true</skip>
> >>                        </configuration>
> >>                    </plugin>
> >>                     <plugin>
> >>                        <groupId>org.codehaus.mojo</groupId>
> >>                         <artifactId>hibernate3-maven-plugin</artifactId>
> >>                         <version>2.0-alpha-2</version>
> >>                        <configuration>
> >>                        <components>
> >>                            <component>
> >>                                <name>hbm2doc</name>
> >>
> >> <implementation>annotationconfiguration</implementation>
> >>                            </component>
> >>                             <component>
> >>                                <name>hbm2ddl</name>
> >>
> >> <implementation>annotationconfiguration</implementation>
> >>                             </component>
> >>                        </components>
> >>                        <componentProperties>
> >>                            <drop>false</drop>
> >>                            <export>true</export>
> >>                            <outputfilename>schema.sql</outputfilename>
> >>
> >> <propertyfile>web/target/classes/jdbc.properties</propertyfile>
> >>                            <skip>true</skip>
> >>                        </componentProperties>
> >>                        </configuration>
> >>                    </plugin>
> >>                </plugins>
> >>            </build>
> >>            <properties>
> >>
> >>
> >>
> <dbunit.dataTypeFactoryName>org.dbunit.dataset.datatype.DefaultDataTypeFactory</dbunit.dataTypeFactoryName>
> >>
> >> <dbunit.operation.type>CLEAN_INSERT</dbunit.operation.type>
> >>
> >>
> >>
> <hibernate.dialect>org.hibernate.dialect.MySQL5InnoDBDialect</hibernate.dialect>
> >>                 <jdbc.groupId>mysql</jdbc.groupId>
> >>                <jdbc.artifactId>mysql-connector-java</jdbc.artifactId>
> >>                <jdbc.version>5.0.5</jdbc.version>
> >>
> >> <jdbc.driverClassName>com.mysql.jdbc.Driver</jdbc.driverClassName>
> >>
> >>
> >>
> <jdbc.url><![CDATA[jdbc:mysql://localhost/mydatabase?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8]]></jdbc.url>
> >>                <jdbc.username>user</jdbc.username>
> >>                <jdbc.password>pass</jdbc.password>
> >>            </properties>
> >>        </profile>
> >>    </profiles>
> >>
> >>
> >>
> >> When I from root execute: mvn clean install -P prodx
> >>
> >> I get below errors (seems like it can't find jdbc driver because
> >> ClassNotFoundException maybe due to I run from root pom ?)
> >>
> >> Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
> >>
> >> Full exception:
> >>
> >> ------------------
> >>
> >> [INFO] Preparing hibernate3:hbm2ddl
> >> [WARNING] Removing: hbm2ddl from forked lifecycle, to prevent recursive
> >> invocation.
> >> [INFO] [aspectj:compile {execution: default}]
> >> [INFO] [resources:resources]
> >> [INFO] Using default encoding to copy filtered resources.
> >> [INFO] [hibernate3:hbm2ddl {execution: default}]
> >> [INFO] src/main/resources/hibernate.cfg.xml not found within the
> project.
> >> Trying absolute path.
> >> [INFO] No hibernate configuration file loaded.
> >> [INFO] Configuration Properties file loaded:
> >> E:\Development\giftmanager\core\target\test-classes\jdbc.properties
> >> ERROR - SchemaExport.execute(202) | schema export unsuccessful
> >> java.sql.SQLException: No suitable driver found for
> >> jdbc:mysql://localhost/mydatabase?createDatabaseIfNotExist=true&useUn
> >>        at java.sql.DriverManager.getConnection(DriverManager.java:602)
> >>        at java.sql.DriverManager.getConnection(DriverManager.java:154)
> >>        at
> >>
> >>
> org.hibernate.connection.DriverManagerConnectionProvider.getConnection(DriverManagerConnectionProvider.java:110)
> >>        at
> >>
> >>
> org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare(ManagedProviderConnectionHelper.java:28)
> >>        at
> >> org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:180)
> >>        at
> >> org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:133)
> >>        at
> >>
> >>
> org.codehaus.mojo.hibernate3.exporter.Hbm2DDLExporterMojo.doExecute(Hbm2DDLExporterMojo.java:112)
> >>        at
> >>
> >>
> org.codehaus.mojo.hibernate3.HibernateExporterMojo.execute(HibernateExporterMojo.java:140)
> >>        at
> >>
> >>
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478)
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
> >>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
> >>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
> >>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
> >>        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)
> >> [WARNING] 1 errors occurred while performing <hbm2ddl>.
> >> [ERROR] Error #1: java.sql.SQLException: No suitable driver found for
> >> jdbc:mysql://localhost/mydatabase?createDatabaseIfNotEx
> >> [INFO] [compiler:testCompile]
> >> [INFO] Nothing to compile - all classes are up to date
> >> [INFO] [dbunit:operation {execution: default}]
> >> [INFO]
> >> ------------------------------------------------------------------------
> >> [ERROR] BUILD ERROR
> >> [INFO]
> >> ------------------------------------------------------------------------
> >> [INFO] Error executing database operation: CLEAN_INSERT
> >>
> >> Embedded error: com.mysql.jdbc.Driver
> >> [INFO]
> >> ------------------------------------------------------------------------
> >> [INFO] Trace
> >> org.apache.maven.lifecycle.LifecycleExecutionException: Error executing
> >> database operation: CLEAN_INSERT
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:583)
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478)
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
> >>        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
> >>        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
> >>        at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
> >>        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.plugin.MojoExecutionException: Error
> >> executing
> >> database operation: CLEAN_INSERT
> >>        at
> >> org.codehaus.mojo.dbunit.OperationMojo.execute(OperationMojo.java:110)
> >>        at
> >>
> >>
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
> >>        at
> >>
> >>
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
> >>        ... 16 more
> >> Caused by: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
> >>        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
> >>        at java.security.AccessController.doPrivileged(Native Method)
> >>        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> >>        at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
> >>        at
> >>
> >>
> org.codehaus.classworlds.RealmClassLoader.loadClassDirect(RealmClassLoader.java:195)
> >>        at
> >>
> >>
> org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:255)
> >>        at
> >>
> >>
> org.codehaus.classworlds.DefaultClassRealm.loadClass(DefaultClassRealm.java:274)
> >>        at
> >>
> >>
> org.codehaus.classworlds.RealmClassLoader.loadClass(RealmClassLoader.java:214)
> >>        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
> >>        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
> >>        at java.lang.Class.forName0(Native Method)
> >>        at java.lang.Class.forName(Class.java:169)
> >>        at
> >>
> >>
> org.codehaus.mojo.dbunit.AbstractDbUnitMojo.createConnection(AbstractDbUnitMojo.java:159)
> >>        at
> >> org.codehaus.mojo.dbunit.OperationMojo.execute(OperationMojo.java:93)
> >>        ... 18 more
> >> [INFO]
> >> ------------------------------------------------------------------------
> >>
> >> ------------------
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> mraible wrote:
> >> >
> >> > What do you have so far and what's not working (i.e. what errors are
> >> you
> >> > seeing)?
> >> >
> >> > On Fri, Sep 18, 2009 at 5:31 AM, taltun <tunca...@gmail.com> wrote:
> >> >
> >> >>
> >> >> Hi guys,
> >> >>
> >> >> I hope some of you can help me, I have spent 1½ day on this and still
> >> no
> >> >> solution. I know there are some thread relating to this issue on this
> >> >> forum
> >> >> but none help :(
> >> >>
> >> >> I make use of AppFuse struts2 modular 2.02.
> >> >>
> >> >> What I want how to customize the current poms to do following is
> >> >> following:
> >> >>
> >> >> 1. Add a profile for production
> >> >>    * Should point to a different mySQL production database than the
> >> >> current
> >> >> configured to test.
> >> >>    * Should NOT be activated default
> >> >>    * Should NOT drop the database
> >> >>    * Should NOT re-populate the database with sample-data.xml
> >> >>    * Should create an output fil with schema/ddl
> >> >>    * Should be executed from root pom.xml, /web/pom.xml and
> >> /core/pom.xml
> >> >>    * IN WHAT pom.xml (root, web or core or all of them) file should I
> >> >> place
> >> >> this profile ???
> >> >>
> >> >> 2. Add a profile for test
> >> >>    * Actually should be work like it does today but included in a
> test
> >> >> profile
> >> >>    * Should be activated default
> >> >>    * Should point to a specific mySQL test database than produktion
> >> >> database
> >> >>    * Should create database if not exist, ddl and repopulate
> >> >> sample-data.xml
> >> >>    * Should be executed from root pom.xml, /web/pom.xml and
> >> /core/pom.xml
> >> >>
> >> >>
> >> >> Please, show two examples of above profiles and what module should I
> >> >> place
> >> >> the profiles (root, /web, /core module) ?
> >> >>
> >> >> -taltun
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> View this message in context:
> >> >>
> >>
> http://www.nabble.com/Production-and-Test-Profiles-tp25505742s2369p25505742.html
> >> >> Sent from the AppFuse - User mailing list archive at Nabble.com.
> >> >>
> >> >>
> >> >> ---------------------------------------------------------------------
> >> >> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net
> >> >> For additional commands, e-mail: users-h...@appfuse.dev.java.net
> >> >>
> >> >>
> >> >
> >> >
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/Production-and-Test-Profiles-tp25505742s2369p25509777.html
> >> Sent from the AppFuse - User mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net
> >> For additional commands, e-mail: users-h...@appfuse.dev.java.net
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/Production-and-Test-Profiles-tp25505742s2369p25525808.html
> Sent from the AppFuse - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@appfuse.dev.java.net
> For additional commands, e-mail: users-h...@appfuse.dev.java.net
>
>

Reply via email to