Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Check Mylyn Extras and select JIRA integration

Maven Repository

Warning

Be aware of the fact that the magnolia artifacts are hosted in our own repository. You have the following options:

  • register the repository in your maven settings.xml file
  • register the repository in your project pom

The repositories are:

settings.xml
The file is found in your home directory under ~/.m2/settings.xml

Example:

...

See Maven setup.

Add SVN Repository

You will have to register our SVN repository in case you want to checkout magnolia modules/projects

...

  1. open "SVN Repository" perspective (Window -> Open perspective)
  2. select module/project to check out
  3. click "Check out" in the context menu

Importing

...

an already checked out project from file system

Sometimes it is more convenient to checkout a project manually and then use the eclipse import function. This is especially helpful if the module to be imported has submodules.

...

edit web.xml and add the following lines:

Code Block
xml
xml
<jsp-config>
   <taglib>
      <taglib-uri>cmsfn-taglib</taglib-uri>
      <taglib-location>cmsfn-taglib.tld</taglib-location>
    </taglib>
</jsp-config>

...

1. in the webapp folder execute:

Code Block
none
none
  mvn war:inplace

2. delete all jars except the taglib jars in src/main/webapp/WEB-INF/lib

3. minimize the taglib jar

Code Block
none
none
 zip -d magnolia-taglib-cms-4.1.1-SNAPSHOT.jar /info/*
 zip -d magnolia-taglib-utility-4.1.1-SNAPSHOT.jar /info/*

...

The important part of this configuration file is the declaration of the objects the auto completion should know. I think these four declarations I use make sense:

Code Block
xml
xml
<value key="mgnl" object-class="info.magnolia.module.templating.MagnoliaTemplatingUtilities"/>
<value key="ctx" object-class="info.magnolia.context.MgnlContext"/>
<value key="stk" object-class="info.magnolia.module.templatingkit.util.STKUtil"/>
<value key="state" object-class="info.magnolia.cms.core.AggregationState"/>

...

If the project can't build because of the following message (printed in Maven Console)

Code Block
none
none
[WARN] Rule 0: org.apache.maven.plugin.enforcer.RequireMavenVersion failed with message: Detected Maven Version: 2.1-SNAPSHOT is not in the allowed range [2.0.9,2.0.9].

The expected stacktrace on startup is:

Code Block
none
none
SEVERE: Exception sending context initialized event to listener instance of class info.magnolia.cms.servlets.MgnlServletContextListener
java.lang.NullPointerException
	at info.magnolia.cms.beans.config.PropertiesInitializer.loadAllModuleProperties(PropertiesInitializer.java:92)
	at info.magnolia.cms.beans.config.PropertiesInitializer.loadAllProperties(PropertiesInitializer.java:79)
	at info.magnolia.cms.servlets.MgnlServletContextListener.contextInitialized(MgnlServletContextListener.java:176)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4350)

You can either add the following to the pluginManagement section in your main project pom to disable the enforcer plugin or select the eclipse profile:

Code Block
xml
xml
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-enforcer-plugin</artifactId>
  <configuration>
    <skip>true</skip>
  </configuration>
</plugin>

...

Class Cast Exception: info.magnolia.cms.filters.MgnlMainFilter

Symptom:

Code Block
none
none
SEVERE: Exception starting filter magnoliaFilterChain
java.lang.ClassCastException: info.magnolia.cms.filters.MgnlMainFilter
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:255)
	at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3709)
	at org.apache.catalina.core.StandardContext.start(StandardContext.java:4356)
	at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

Solution: exclude the servlet api jar. Verify that you don't have the servlet api jar in your maven dependencies.

Example:

Code Block
xml
xml
<dependency>
	<groupId>info.magnolia</groupId>
	<artifactId>magnolia-empty-webapp</artifactId>
	<version>4.0.1</version>
	<type>pom</type>
	<exclusions>
		<exclusion>
		        <groupId>javax.servlet</groupId>
		        <artifactId>servlet-api</artifactId>
		</exclusion>
	</exclusions>
</dependency>

...