Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
SpringBeans.xml
Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleSpring Configuration
borderStylesolid
Code Block
title
Pre-Requisites
  1. Completed Kuali Rice SLAs and T&Cs
  2. User Accounts to Rice Databases
  3. PSL Firewall Access
  4. Data Center Firewall Access
  5. Access to IET Subversion Repository
  6. Access to IET Maven Repository
  7. Access to JIRA
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="properties" ref="configProperties" /> </bean> <bean id="config" class="org.kuali.rice.core.config.spring.ConfigFactoryBean"> <property name="configLocations"> <list> <value>classpath:edu/ucdavis/embedded/config/embedded-client-config.xml</value> </list> </property> </bean> <bean id="configProperties" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetObject" ref="config" /> <property name="targetMethod" value="getProperties"
Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleInitial Setup

Setup Project Directories

  1. Create a directory where you will store working copies of files to be checked out from Subversion, such as <PATH>/subversion

Checkout Sample Embedded Client Project

  1. Navigate to <PATH>/subversion
  2. Code Block
    borderStylesolid
    
    [<PATH>/subversion]$ svn co https://mware.ucdavis.edu/svn/kuali/RiceApplications/sample-embedded-client/trunk/sample-embedded-client
    

Checkout the Kuali Impex Tool

Code Block
borderStylesolid

[<PATH>/subversion]$ svn co https://test.kuali.org/svn/kul-cfg-dbs/trunk
Info

This creates a directory <PATH>/subversion/trunk. To make the directory structure more readable, rename trunk to kul-cfg-dbs.


Checkout the Sample Embedded Client Database Configuration Files

Code Block
borderStylesolid

[<PATH>/subversion]$ svn co https://test.kuali.org/svn/rice-cfg-dbs/rice-client-db/branches/rice-release-1-0-0-br
Info

This creates a directory <PATH>/subversion/rice-release-1-0-0-br. To make the directory structure more readable, rename rice-release-1-0-0-br to rice-client-db.


Prepare Database Import Configuration

  1. Copy <PATH>/subversion/kul-cfg-dbs/impex/impex-build.properties to <HOME>/impex-build.properties
  2. Set the following property values in /wiki/spaces/UCDK/pages/119111688:

    Property

    Sample Value

    svn.module

    rice-cfg-dbs

    svn.base

    branches/rice-release-1-0-0-br

    torque.schema.dir

    <PATH>/subversion/rice-client-db

    drivers.directory

    <path to your client database JDBC driver> Use forward slashes, even in Windows!!!

    import.torque.database.url

    jdbc:oracle:thin:@<DB Host>.ucdavis.edu:1521:<DB SID>

    import.torque.database.user

    <user you will log in as> SYS, schema, etc.

    import.torque.database.schema

    <SCHEMA> Must be in UPPER CASE

    import.torque.database.password

    <password>


Set Environment Variables

  1. Navigate to <HOME>/subversion/kul-cfg-dbs/impex
  2. Set JAVA_HOME
    Code Block
    borderStylesolid
    
    [<PATH>/subversion/kul-cfg-dbs/impex]$ export JAVA_HOME=<path to Java>
    
  3. Set the classpath
    Code Block
    borderStylesolid
    
    [<PATH>/subversion/kul-cfg-dbs/impex]$ export classpath=<PATH>/subversion/kul-cfg-dbs/impex/lib
    

Execute the Database Import

  • If you're starting with a blank database:
    Code Block
    borderStylesolid
    
    [<PATH>/subversion/kul-cfg-dbs/impex]$ ant import
    
  • If you're adding to an existing database:
    1. Code Block
      borderStylesolid
      
      [<PATH>/subversion/kul-cfg-dbs/impex]$ ant create-ddl
      
    2. Code Block
      borderStylesolid
      
      [<PATH>/subversion/kul-cfg-dbs/impex]$ ant dataxml-to-sql
      
    3. Navigate to <PATH>/subversion/rice-client-db/sql and execute the generated SQL statements.
    4. Navigate to <PATH>/subversion/rice-client-db/datasql and execute the generated SQL statements.
Tip

If you are updating the Database Configuration Files project from Kuali's Subversion repository and updating your client Rice database structure, delete <PATH>/subversion/rice-cfg-dbs/sql and /datasql subdirectories before running ant import, ant create-ddl, or ant dataxml-to-sql.

Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleSpring Configuration
Code Block
borderStylesolid
title~/sample-embedded-client/src/main/resources/edu/sampleu/embedded/config/SpringBeans.xml

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
	<property name="properties" ref="configProperties" />
</bean>

<bean id="config" class="org.kuali.rice.core.config.spring.ConfigFactoryBean">
	<property name="configLocations">
		<list>
			<value>classpath:edu/sampleu/embedded/config/sample-embedded-client-config.xml</value>
		</list>
	</property>
</bean>
	
<bean id="configProperties" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
	<property name="targetObject" ref="config" />
	<property name="targetMethod" value="getProperties" />
</bean>

<bean id="jotm" class="org.springframework.transaction.jta.JotmFactoryBean">
	<property name="defaultTimeout" value="${transaction.timeout}"/>
</bean>
	
<bean id="jtaTransactionManager" class="org.springframework.transaction.jta.JtaTransactionManager">
	<property name="transactionManager" ref="jotm"/>
	<property name="userTransaction" ref="jotm"/>
</bean>

<bean id="dataSource" class="org.kuali.rice.core.database.XAPoolDataSource">
	<property name="transactionManager" ref="jotm" />
	<property name="driverClassName" value="${datasource.driver.name}" />
	<property name="url" value="${datasource.url}" />
	<property name="maxSize" value="${datasource.pool.size}" />
	<property name="minSize" value="${datasource.initialSize}" />
	<property name="maxWait" value="${datasource.pool.maxWait}" />
	<property name="validationQuery" value="${datasource.pool.validationQuery}" />
	<property name="username" value="${datasource.username}" />
	<property name="password" value="${datasource.password}" />
</bean>

<bean id="nonTransactionalDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
	<property name="driverClassName" value="${datasource.driver.name}" />
	<property name="url" value="${datasource.url}" />
	<property name="maxActive" value="${datasource.pool.maxActive}" />
	<property name="minIdle" value="${datasource.minIdle}" />
	<property name="initialSize" value="${datasource.initialSize}" />
	<property name="validationQuery" value="${datasource.pool.validationQuery}" />
	<property name="username" value="${datasource.username}" />
	<property name="password" value="${datasource.password}" />
	<property name="accessToUnderlyingConnectionAllowed" value="${datasource.accessToUnderlyingConnectionAllowed}" />
</bean>

<bean id="jotmstandaloneDataSource" class="org.kuali.springframeworkrice.transactioncore.jtadatabase.JotmFactoryBeanXAPoolDataSource">
	<property name="defaultTimeouttransactionManager" valueref="${transaction.timeout}"jotm" />
</bean>
	<property <bean idname="jtaTransactionManagerdriverClassName" classvalue="org${standalone.springframeworkdatasource.transaction.jta.JtaTransactionManager"driver.name}" />
	<property name="transactionManagerurl" refvalue="jotm"${standalone.datasource.url}" />
	<property name="userTransactionmaxSize" refvalue="jotm"${standalone.datasource.pool.size}" />
</bean>

<bean id	<property name="dataSourceminSize" classvalue="org${standalone.kuali.rice.core.database.XAPoolDataSource"datasource.initialSize}" />
	<property name="transactionManagermaxWait" refvalue="jotm${standalone.datasource.pool.maxWait}" />
	<property name="driverClassNamevalidationQuery" value="${standalone.datasource.driverpool.namevalidationQuery}" />
	<property name="urlusername" value="${standalone.datasource.urlusername}" />
	<property name="maxSizepassword" value="${standalone.datasource.pool.sizepassword}" />
	<property name="minSize" value="${datasource.initialSize}" />
	</bean>

<bean id="whitePagesDataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="maxWaitdriverClassName" value="${datasource.pooldriver.maxWaitname}" />
	
        <property name="validationQueryurl" value="${datasource.pool.validationQuery}" />
	the.db.where.my.privileged.whitepages.db.username.lives.url}"/>
        <property name="username" value="${datasourcemy.privileged.whitepages.db.username}" />
	
        <property name="password" value="${datasourcemy.privileged.whitepages.db.password}" />
</bean>

<bean id="nonTransactionalDataSourceldapPersonContextSource" class="org.apachespringframework.ldap.commonscore.dbcpsupport.BasicDataSourceLdapContextSource" destroy-method="close">>
    	<property name="driverClassNameurl" value="${datasourceldap.driver.nameurl}" />
    	<property name="urlbase" value="${datasourceldap.urlbase}" />
    	<property name="maxActivepooled" value="${datasourceldap.pool.maxActive}" />
    	<property name="minIdleuserDn" value="${datasource.minIdlemy.ldap.service.account}" />
    	<property name="initialSizepassword" value="${datasource.initialSizemy.ldap.service.account.password}" />
	<property name</bean>

<bean id="validationQueryldapListingsContextSource" valueclass="${datasource.pool.validationQuery}" />org.springframework.ldap.core.support.LdapContextSource">
    	<property name="usernameurl" value="${datasourceldap.usernameurl}" />
	<property name="password" value="${datasource.password}" /> 	<property name="accessToUnderlyingConnectionAllowedbase" value="${datasourceldap.listings.accessToUnderlyingConnectionAllowedbase}" />
</bean>  <bean id="standaloneDataSource" class="org.kuali.rice.core.database.XAPoolDataSource">
	<property name="transactionManagerpooled" refvalue="jotm${ldap.pool}" />
    	<property name="driverClassNameuserDn" value="${datasourcemy.ldap.driverservice.name}" />account}" />
    	<property name="urlpassword" value="${standalone.datasource.urlmy.ldap.service.account.password}" />
	<property name</bean>

<bean id="maxSizerice" valueclass="${datasource.pool.size}" /org.kuali.rice.core.config.RiceConfigurer">
	<property name="minSizedataSource" valueref="${datasource.initialSize}dataSource" />
	<property name="maxWait" value="${datasource.pool.maxWait}" nonTransactionalDataSource" ref="nonTransactionalDataSource"/>
	<property name="validationQueryserverDataSource" valueref="${datasource.pool.validationQuery}" standaloneDataSource"/>
	<property name="usernametransactionManager" valueref="${standalone.datasource.username}jotm" />
	<property name="passworduserTransaction" valueref="${standalone.datasource.password}jotm" />
</bean>

<bean id	<property name="rice" class="org.kuali.rice.core.config.RiceConfigurer"serviceNamespace" value="RSEC" />
	<property name="dataSourceenvironment" refvalue="dataSourcedev" />
	<property name="nonTransactionalDataSourcerootConfig" ref="nonTransactionalDataSourceconfig" />
	<property name="serverDataSourceksbConfigurer">
ref="standaloneDataSource"/>
		<bean class="org.kuali.rice.ksb.messaging.config.KSBConfigurer">
			<property name="transactionManagerserviceServletUrl" refvalue="jotm" />${serviceServletUrl}" />
		</bean>
	</property>
	<property name="userTransactionkewConfigurer">
		<bean refclass="jotm" /org.kuali.rice.kew.config.KEWConfigurer">
			<property name="serviceNamespaceclientProtocol" value="RSEClocal" />
		</bean>
	</property>
	<property name="environmentknsConfigurer">
		<bean valueclass="dev" />org.kuali.rice.kns.config.KNSConfigurer"/>
	</property>
	<property name="rootConfigkimConfigurer">
ref		<bean class="org.kuali.rice.kim.config.KIMConfigurer"/>
	</>property>
	<property name="ksbConfigurerkcbConfigurer">
		<bean class="org.kuali.rice.ksb.messagingkcb.config.KSBConfigurerKCBConfigurer"/>
	</property>
		<property name="serviceServletUrladditionalSpringFiles" value="${serviceServletUrl}" />
		</bean>
	</property>
	<property name="kewConfigurer">
		<bean class="org.kuali.rice.kew.config.KEWConfigurer">
			<property name="clientProtocol" value="local" />
		</bean>
	</property>
	<property name="knsConfigurer">
		<bean class="org.kuali.rice.kns.config.KNSConfigurer"/>
	</property>
	<property name="kimConfigurer">
		<bean class="org.kuali.rice.kim.config.KIMConfigurer"/>
	</property>
	<property name="kcbConfigurer">
		<bean class="org.kuali.rice.kcb.config.KCBConfigurer"/>
	</property>
	<property name="additionalSpringFiles">
		<list>
			<value>classpath:edu/ucdavis/iet/kuali/rice/kim/config/UCDKIMSpringBeans.xml</value>
		</list>
	</property>
</bean>
</beans>
Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
titleRice Configuration
borderStylesolid
Code Block
titleembedded-client-config.xml
borderStylesolid

<config>
	<param name="ldap.url">ldaps://ldap.ucdavis.edu<>
		<value>classpath:edu/ucdavis/iet/kuali/rice/kim/config/UCDKIMSpringBeans.xml</value>
	</property>
</bean>
</beans>
Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleRice Configuration
Code Block
borderStylesolid
title~/sample-embedded-client/src/main/resources/edu/sampleu/embedded/config/sample-embedded-client-config.xml

<config>
	<!-- LDAP Settings -->
	<param name="ldap.url">ldaps://ldap.ucdavis.edu</param>
	<param name="ldap.base">ou=People,dc=ucdavis,dc=edu</param>
	<param name="ldap.pool">true</param>
	<param name="ldap.user">uid=my_ldap_uid,ou=Special Users,dc=ucdavis,dc=edu</param>
	<param name="ldap.password">my_ldap_password</param>
		
	<!-- Client Database Settings -->
	<param name="datasource.ojb.platform">MySQL</param>
	<param name="datasource.platform">org.kuali.rice.core.database.platform.MySQLPlatform</param>
	<param name="datasource.url">jdbc:mysql://localhost:3306/MyDB</param>
	<param name="ldapdatasource.driver.base">ou=People,dc=ucdavis,dc=edu<name">com.mysql.jdbc.Driver</param>
	<param name="ldapdatasource.pool.validationQuery">true<>select 1</param>
	<param name="ldap.user">${ldap.user}<datasource.pool.maxWait">30000</param>
	<param name="ldapdatasource.pool.password">${ldap.password}<size">30</param>
		
	<param name="datasource.ojbpool.platformmaxActive">Oracle9i<>50</param>
	<param name="datasource.platform">org.kuali.rice.core.database.platform.OraclePlatform<minIdle">7</param>
	
	<param name="datasource.url">${client.datasource.url}<initialSize">7</param>
	<param name="datasource.username">${client.accessToUnderlyingConnectionAllowed">true</param>
	<param name="datasource.username}<">embeddeduser</param>
	<param name="datasource.password">${client.datasource.password}<>embeddedpassword</param>
	
	<!--  Rice Standalone Database Settings -->
	<param name="standalone.datasource.url">${standalone.datasource.url}<ojb.platform">Oracle9i</param>
	<param name="standalone.datasource.username">${standalone.datasource.username}<platform">org.kuali.rice.core.database.platform.OraclePlatform</param>
	<param name="standalone.datasource.password">${standalone.datasource.password}</param>
	url">jdbc:oracle:thin:@dbhost.ucdavis.edu:1521:SID</param>
	<param name="standalone.datasource.driver.name">oracle.jdbc.driver.OracleDriver</param>
	<param name="standalone.datasource.pool.validationQuery">select 1 from dual</param>
	<param name="standalone.datasource.pool.maxWait">30000</param>
	<param name="standalone.datasource.pool.size">30<">30</param>
	<param name="standalone.datasource.pool.maxActive">50</param>
	<param name="standalone.datasource.minIdle">7</param>
	<param name="standalone.datasource.pool.maxActiveinitialSize">50<>7</param>
  	<param name="standalone.datasource.minIdleaccessToUnderlyingConnectionAllowed">7<>true</param>
  	<param name="standalone.datasource.initialSizeusername">7<>riceuser</param>
 	<param name="standalone.datasource.accessToUnderlyingConnectionAllowedpassword">true<>ricepassword</param>
	
	<!--  log4j Settings -->
	<param name="log4j.reload.minutes">5</param>
	<param name="log4j.settings.path">classpath:META-INF/log4j.properties</param>

	<!--  Bus Configuration  -->
	<param name="dev.mode">false</param>
	<param name="message.persistence">true</param>
	<param name="message.delivery">async</param>
	<param name="Routing.ImmediateExceptionRouting">true</param>
	<param name="RouteQueue.timeIncrement">60000</param>
	<param name="RouteQueue.maxRetryAttempts">6</param>

	<!--  Quartz Configuration  -->
	<param name="useQuartzDatabase">true</param>
	<param name="ksb.org.quartz.scheduler.instanceName">Embedded KSB Scheduler</param>
	<param name="ksb.org.quartz.scheduler.instanceId">AUTO</param>
	<param name="ksb.org.quartz.threadPool.threadCount">5</param>
<!--	<param name="ksb.org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore</param>

	tablePrefix">KRSB_QRTZ_</param>-->
<!--  Workflow Upload Configuration (for stand-alone)  -->
	<param name="dataksb.xml.pollIntervalSecs">30</param>
	<param name="initialDelaySecs">10</param>
	<param name="simpleDocumentActionsService.securityorg.quartz.jobStore.isClustered">true</param>-->
	<param name="secureksb.org.workflowdocumentquartz.javaservicethreadPool.endpointthreadCount">true<>5</param>
	<param name="secureksb.org.workflowutilityquartz.javaservicejobStore.endpoint">true</param>class">org.quartz.simpl.RAMJobStore</param>

	<!--  Workflow Upload Configuration (for stand-alone)  -->
	<param name="keystoredata.xml.file">security/rice.keystore<pollIntervalSecs">30</param>
	<param name="keystore.aliasinitialDelaySecs">rice<>10</param>
	<param name="keystoresimpleDocumentActionsService.passwordsecurity">r1c3pw<>true</param>
	
	<param name="transaction.timeout">600</param>
	<param name="serviceServletUrl">${standalone.server.url}/remoting</param>
	
	<!-- XML ingester directories -->
secure.workflowdocument.javaservice.endpoint">true</param>
	<param name="datasecure.xmlworkflowutility.rootjavaservice.locationendpoint">/opt/ears/${environment}/en/xml</>true</param>
	<param name="data.xml.pending.location">${data.xml.root.location}pending<keystore.file">security/rice.keystore</param>
	<param name="data.xml.loaded.location">${data.xml.root.location}loaded<keystore.alias">rice</param>
	<param name="data.xml.problem.location">${data.xml.root.location}problem<keystore.password">r1c3pw</param>
	
	<param name="attachmenttransaction.dir.locationtimeout">/opt/ears/</>600</param>
	<!-- Standalone Server URL -->
	<param name="config.location">classpath:META-INF/common-config-defaults.xml</param>
</config>
Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
titleEnvironment Properties
borderStylesolid
Code Block
titleenvironment.properties
borderStylesolid

ldap.user=
ldap.password=

client.datasource.url=
client.datasource.username=
client.datasource.password=
datasource.pool.size=
datasource.initialSize=
datasource.pool.maxWait=
datasource.pool.validationQuery=
datasource.username=
datasource.password=
datasource.driver.name=
	
standalone.datasource.url=
standalone.datasource.username=
standalone.datasource.password=
datasource.driver.name=
datasource.pool.size=
datasource.initialSize=
datasource.pool.maxWait=
datasource.pool.validationQuery=

standalone.server.url=serviceServletUrl">http://ricehost.ucdavis.edu/rice-context/remoting</param>
	
	<!-- XML ingester directories -->
	<param name="data.xml.root.location">/opt/ears/${environment}/en/xml</param>
	<param name="data.xml.pending.location">${data.xml.root.location}pending</param>
	<param name="data.xml.loaded.location">${data.xml.root.location}loaded</param>
	<param name="data.xml.problem.location">${data.xml.root.location}problem</param>
	<param name="attachment.dir.location">/opt/ears/</param>
	
	<!-- External Configuration Files -->
	<param name="config.location">classpath:META-INF/common-config-defaults.xml</param>
<!--	<param name="config.location">/usr/local/rice/embedded-client-config.xml</param>-->
</config>
Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleRequired Libraries
borderStylesolid
  1. rice-api-1.0.0
  2. rice-impl-1.0.0
  3. iet-commons-ldap-1.0.0
  4. ucd-kim-impl-1.0.0
  5. asm 3.0
  6. spring-ldap-core 1.3.0.RELEASE
Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleRemoved Libraries
  1. asm-1.05.03ucd
  2. asm-kim-implattrs-1.05.0asm 3.0spring-ldap-core 1.3.0.RELEASE
  3. cglib-2.1

Reference: CXF: Dependency Incompatibility with Hibernate

Panel
borderColor#87CEFA
bgColor#FFFFFF
titleBGColor#87CEFA
borderStylesolid
titleMaven Configuration
Code Block
borderStylesolid
code
title~/sample-embedded-client/pom.xml
borderStylesolid
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.kuali.rice</groupId>
<artifactId>embedded-client</artifactId>
<packaging>jar</packaging>
<name>embedded-client</name>
<version>1.0.0</version>
<build>
	<plugins>
		<plugin>
			<artifactId>maven-compiler-plugin</artifactId>
			<configuration>
				<source>1.5</source>
				<target>1.5</target>
			</configuration>
		</plugin>
	</plugins>
</build>

<properties>
  	<iet-commons-ldap.version>1.0.0</iet-commons-ldap.version>
  	<ucd-kim-impl.version>1.0.0RC1</ucd-kim-impl.version>
  	<rice.version>1.0.0-SNAPSHOT</rice.version>
	<asm.version>3.0</asm.version>
</properties>

<dependencies>
	<dependency>
    		<groupId>edu.ucdavis.iet.commons</groupId>
    		<artifactId>iet-commons-ldap</artifactId>
    		<version>${iet-commons-ldap.version}</version>
    		<exclusions>
    			<exclusion>
    				<groupId>org.springframework</groupId>
    				<artifactId>spring-tx</artifactId>
    			</exclusion> 	
    			<exclusion>
    				<groupId>org.springframework</groupId>
    				<artifactId>spring-beans</artifactId>
    			</exclusion>     
    			<exclusion>
    				<groupId>org.springframework</groupId>
    				<artifactId>spring-core</artifactId>
    			</exclusion>   		
    		</exclusions>
  	</dependency>
  	<dependency>
    		<groupId>edu.ucdavis.iet.kuali.rice</groupId>
    		<artifactId>ucd-kim-impl</artifactId>
    		<version>${ucd-kim-impl.version}</version>
    		<exclusions>
    			<exclusion>
    				<groupId>asm</groupId>
    				<artifactId>asm</artifactId>
    			</exclusion> 	
    			<exclusion>
    				<groupId>asm</groupId>

    				<artifactId>asm-attrs</artifactId>
    			</exclusion>     
    			<exclusion>
    				<groupId>cglib</groupId>
    				<artifactId>cglib</artifactId>
    			</exclusion>   		
    		</exclusions>	    		
  	</dependency>   	
  	<dependency>
		<groupId>asm</groupId>
		<artifactId>asm</artifactId>
		<version>${asm.version}</version>
	</dependency>	  		
	<dependency>
		<groupId>org.kuali.rice</groupId>
		<artifactId>rice-api</artifactId>
		<version>${rice.version}</version>
	</dependency>
	<dependency>
		<groupId>org.kuali.rice</groupId>
		<artifactId>rice-impl</artifactId>
		<version>${rice.version}</version>			 			
	</dependency>
	<dependency>
        	<groupId>javax.servlet</groupId>
           	<artifactId>servlet-api</artifactId>
        	<version>2.4</version>
        	<scope>provided</scope>
        </dependency>
	</dependencies>

<repositories>
	<repository>
		<id>kuali</id>
		<name>Kuali Repository</name>
		<url>https://test.kuali.org/maven</url>
	</repository>
</repositories>

</project>

...