I was just following the steps in the tutorial found below and came into a 2 
maven problems so far and thought I would share my fixes.

Tutorial:
http://academy.magnolia-cms.com/display/MA/U2+Starting+a+CE+project+with+Maven

I am running JDK 1.7 and aiming for Magnolia 5.3, I have maven 2.2.1 running 
alongside maven 3.2.3
[code]
$ mvn2 --version
Apache Maven 2.2.1 (r801777; 2009-08-06 21:16:01+0200)
Java version: 1.7.0_67
Java home: C:\Program Files\Java\jdk1.7.0_67\jre
Default locale: en_GB, platform encoding: Cp1252
OS name: "windows 8.1" version: "6.3" arch: "amd64" Family: "windows"
[/code]

First problem occurred when I was attempting to run [code]mvn 
war:inplace[/code] and I was getting this result:

[code]
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it 
does not have a no-args constructor
---- Debugging information ----
message             : Cannot construct 
org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args 
constructor
cause-exception     : 
com.thoughtworks.xstream.converters.reflection.ObjectAccessException
cause-message       : Cannot construct 
org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args 
constructor
class               : org.apache.maven.plugin.war.util.WebappStructure
required-type       : org.apache.maven.plugin.war.util.WebappStructure
path                : /webapp-structure
line number         : 1
-------------------------------
[/code]

This turns out to be because the archetype is putting java 1.6 into the pom.xml 
files instead of 1.7 which I am using.

Fixed by changing to 1.7 here in the project pom and the module pom:
[code]
  <properties>
    <magnoliaVersion>5.3</magnoliaVersion>
    <javaVersion>1.7</javaVersion>
  </properties>
[/code]

And by adding the maven-war-plugin version 2.1.1 to the project pom:

[code]
....
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>${javaVersion}</source>
          <target>${javaVersion}</target>
        </configuration>
      </plugin>
      <plugin>  
       <groupId>org.apache.maven.plugins</groupId>  
       <artifactId>maven-war-plugin</artifactId>  
       <version>2.1.1</version>  
      </plugin>
    </plugins>
...
[/code]

After these changes the [code]mvn war:inplace[/code] was successful, but both 
maven and Eclipse were still complaining about a couple of libraries from 
Vaadin & JSoup:

[code]
[WARNING] POM for 'com.vaadin:vaadin-shared:pom:7.1.7:compile' is invalid.

Its dependencies (if any) will NOT be available to the current build.
[WARNING] POM for 'com.vaadin:vaadin-theme-compiler:pom:7.1.7:compile' is 
invalid.

Its dependencies (if any) will NOT be available to the current build.
[WARNING] POM for 'org.jsoup:jsoup:pom:1.6.3:compile' is invalid.

Its dependencies (if any) will NOT be available to the current build.
[/code]

Looking in the Maven repo for these files and the problem appeared to be one of 
the ma:

[code]
brobertson@BROBERTSON-LAP ~/brobertson/.m2/repository
$ cat ./org/jsoup/jsoup/1.6.3/jsoup-1.6.3.jar
<html>
<head><title>301 Moved Permanently</title></head>
<body bgcolor="white">
<center><h1>301 Moved Permanently</h1></center>
<hr><center>nginx</center>
</body>
</html>
[/code]

Looking back through the shell history I see it picked these POMs up from a 
strange repository, and that repo is returning the 301 (rather than a 404 I 
guess):

[code]
[INFO] Unable to find resource 'com.vaadin:vaadin-shared:pom:7.1.7' in 
repository vaadin-addons (https://maven.vaadin.com/vaadin-addons)
Downloading: 
http://oss.sonatype.org/content/repositories/vaadin-releases//com/vaadin/vaadin-shared/7.1.7/vaadin-shared-7.1.7.pom
178b downloaded  (vaadin-shared-7.1.7.pom)
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = 
'81ffbd1712afe8cdf138b570c0fc9934742c33c1'; remote = '<html>
<head><title>301' - RETRYING
Downloading: 
http://oss.sonatype.org/content/repositories/vaadin-releases//com/vaadin/vaadin-shared/7.1.7/vaadin-shared-7.1.7.pom
178b downloaded  (vaadin-shared-7.1.7.pom)
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local = 
'81ffbd1712afe8cdf138b570c0fc9934742c33c1'; remote = '<html>
<head><title>301' - IGNORING
[WARNING] POM for 'com.vaadin:vaadin-shared:pom:7.1.7:compile' is invalid.
[/code]

A change to settings.xml that was created as part of [i]Initializing the 
environment[/i] in http://documentation.magnolia-cms.com/display/DOCS/Maven to 
add the default maven repos fixed this. My current full file is this:

[code]
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 
http://maven.apache.org/xsd/settings-1.0.0.xsd";>
  <!-- This is a settings.xml file retrieved from 
https://nexus.magnolia-cms.com -->
  <profiles>
    <profile>
      <id>magnolia-repositories</id>
      <repositories>
        <repository>
          <id>magnolia.nexus.public</id>
          <url>https://nexus.magnolia-cms.com/content/groups/public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>

         <repository>
           <id>fallback1</id>
           <name>Fallback</name>
           <url>http://repo1.maven.org/maven2/</url>
           <layout>default</layout>
         </repository>

         <repository>
           <id>fallback2</id>
           <name>Fallback 2</name>
           <url>http://repo2.maven.org/maven2/</url>
           <layout>default</layout>
         </repository>

      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <id>magnolia.nexus.public</id>
          <url>https://nexus.magnolia-cms.com/content/groups/public/</url>
          <releases>
            <enabled>true</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </pluginRepository>
      </pluginRepositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>magnolia-repositories</activeProfile>
  </activeProfiles>
  <pluginGroups>
    <!-- define the sonatype plugin group, so the nexus plugins will work 
without typing the groupId -->
    <pluginGroup>org.sonatype.plugins</pluginGroup>
  </pluginGroups>
</settings>

[/code]


HTH

-- 
Context is everything: 
http://forum.magnolia-cms.com/forum/thread.html?threadId=11aeb4d2-545c-49f4-9521-716e30a3644e


----------------------------------------------------------------
For list details, see http://www.magnolia-cms.com/community/mailing-lists.html
Alternatively, use our forums: http://forum.magnolia-cms.com/
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------

Reply via email to