Dear Wiki user, You have subscribed to a wiki page or wiki category on "Marmotta Wiki" for change notification.
The "Maven" page has been changed by SergioFernandez: https://wiki.apache.org/marmotta/Maven?action=diff&rev1=1&rev2=2 Comment: updated - = Introduction = + = Working with Marmotta and Maven = - LMF switched from [http://gradle.org/ Gradle] to [http://maven.apache.org/ Maven] as build system after the 2.4 release. At this page you would find some useful documentation for working with such tool and the Linked Media Framework. + At this page you would find some useful documentation for working with such Maven and Apache Marmotta. - = Installation = + == Installation == First, [http://maven.apache.org/download.html download Maven] and follow the [[http://maven.apache.org/download.html#Installation|installation instructions]]. After that, type the following in a terminal or in a command prompt: @@ -14, +14 @@ It should print out your installed version of Maven. *Maven 3.x is required*. - == Repository == + == Working with Marmotta == - LMF artifacts are not available at main Maven repositories, so you'd need to add our repositories to your settings: - - {{{ - @@TODO@@ - }}} - - == Plugins Groups === - - The LMF artifacts use some plugins that are not under the default group, therefore for some tasks you may need to add some plugin groups to your ~/.m2/settings.xml file: - - {{{ - <pluginGroups> - ... - <pluginGroup>org.apache.tomcat.maven</pluginGroup> - <pluginGroup>org.mortbay.jetty</pluginGroup> - <pluginGroup>org.phpmaven</pluginGroup> - <pluginGroup>at.newmedialab.maven</pluginGroup> - </pluginGroups> - }}} - - = Working with LMF = - - == Modifying a module == + === Modifying a module === Just install it in your local repository: @@ -46, +24 @@ mvn clean install }}} - Hot deployment of LMF Webapps is also supported using [JRebel]. + Hot deployment is also supported using [[JRebel]]. - == Testing == + === Testing === {{{ mvn test @@ -56, +34 @@ @@TODO@@ - == Check test coverage == + === Check test coverage === Using [[http://cobertura.sourceforge.net|Cobertura]] you can perform difference check the percentage of code accessed by tests: @@ -67, +45 @@ Further details at the [[http://mojo.codehaus.org/cobertura-maven-plugin/|Cobertura Maven plugin]]. - == Build the site == + === Build the site === {{{ mvn site @@ -79, +57 @@ mvn site:run -Dport=8081 }}} - = Build your own applications based on LMF = - - == Build your own LMF Module == - - There is a Maven archetype for a LMF Module: - - {{{ - mvn archetype:generate \ - -DarchetypeGroupId=at.newmedialab.lmf \ - -DarchetypeArtifactId=lmf-archetype-module - }}} - - This will generate the following structure: - - {{{ - . - |-- pom.xml - `-- src - `-- main - |-- java - `-- resources - |-- kiwi-module.properties - |-- META-INF - | `-- beans.xml - `-- web - `-- admin - |-- about.html - |-- configuration.html - `-- img - `-- clock_small.png - }}} - - == Build your webapp based on LMF == - - There is a Maven archetype for a LMF Webapp: - - {{{ - mvn archetype:generate \ - -DarchetypeGroupId=at.newmedialab.lmf \ - -DarchetypeArtifactId=lmf-archetype-webapp - }}} - - After that you will have a new Maven project with a structure like: - - {{{ - . - |-- pom.xml - `-- src - |-- main - | |-- resources - | | |-- default-config.properties - | | |-- ehcache-db.xml - | | |-- ehcache-lmf.xml - | | |-- logback.xml - | | `-- META-INF - | | |-- beans.xml - | | `-- persistence.xml - | `-- webapp - | |-- index.jsp - | |-- META-INF - | | `-- jetty-web.xml - | |-- search - | | `-- test_luke.html - | |-- skosjs-extension - | | `-- test.html - | |-- solr - | | |-- admin - | | |-- favicon.ico - | | `-- index.jsp - | `-- WEB-INF - | |-- jetty-web.xml - | |-- realm.properties - | |-- templates - | | |-- 404.ftl - | | |-- admin.ftl - | | `-- rdfhtml.ftl - | `-- web.xml - `-- test - `-- resources - |-- arquillian.xml - |-- data - |-- ehcache.xml - |-- jndi.properties - |-- logback.xml - |-- META-INF - | |-- beans.xml - | `-- test-persistence.xml - |-- test-config.properties - `-- WEB-INF - `-- test-web.xml - }}} - - Then, moving to the folder that Maven created, you can start it just by running one of the following commands: - - {{{ - mvn jetty:run - mvn tomcat6:run - mvn tomcat7:run - }}} - - By default it will start your new webapp at http://localhost:8080 - - Of course you could customize whatever you need. - - = IDE Integration = + == IDE Integration == For the moment all the actions were performed form the command-line. But Maven is nicely supported by many IDEs: @@ -191, +65 @@ * [[http://www.jetbrains.com/idea/features/ant_maven.html|IntelliJ]] * [[http://maven.apache.org/netbeans-module.html|Netbeans]] - = Additional documentation = + === Additional documentation === - == Cleaning LMF home directory == + == Cleaning Marmotta home directory == - Any LMF webapp comes with a Maven profile that allows you to clean the folder that LMF uses to store some caches. For doing that you'd need to run: + Any Marmotta webapp comes with a Maven profile that allows you to clean the folder that Marmotta uses to store some caches. For doing that you'd need to run: {{{ mvn clean -Pcleanall
