Thursday, January 8, 2015

Issues with Maven and GWT and Eclipse linked source folders?

Hello all,

Hoping this has a simple fix.

We have just mavenized a 2.7 project that depends on two other non-mavenized projects.

We are linking to the other projects via a set Eclipse variable to provide additional linked (and shared with other projects) source trees.

Is there something I can add to the pom to indicate to use or copy over these other source directories for Maven build/install?

If I compile via the GWT Eclipse plugin all is fine.

If I try and compile via Maven I gets lots of "cannot find symbol" error messages.

How can I specify to Maven the <linkedResources> for additional source code? (Even manual entries in the POM are fine)

-> partial log

[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ iPaperzButterApi ---
[INFO] Changes detected - recompiling the module!
[INFO] Compiling 45 source files to /home/michael/git/iPaperzButterApi/iPaperzButterApi/target/classes
[INFO] -------------------------------------------------------------
[WARNING] COMPILATION WARNING :
[INFO] -------------------------------------------------------------
[WARNING] /home/michael/git/iPaperzButterApi/iPaperzButterApi/src/com/ipaperz/butter/server/sm/SitemapResponder.java: /home/michael/git/iPaperzButterApi/iPaperzButterApi/src/com/ipaperz/butter/server/sm/SitemapResponder.java uses or overrides a deprecated API.
[WARNING] /home/michael/git/iPaperzButterApi/iPaperzButterApi/src/com/ipaperz/butter/server/sm/SitemapResponder.java: Recompile with -Xlint:deprecation for details.
[INFO] 2 warnings
[INFO] -------------------------------------------------------------
[INFO] -------------------------------------------------------------
[ERROR] COMPILATION ERROR :
[INFO] -------------------------------------------------------------
[ERROR] /home/michael/git/iPaperzButterApi/iPaperzButterApi/src/com/ipaperz/butter/website/WebsiteApp.java:[14,37] package com.ipaperz.butter.pojo.param does not exist
[ERROR] /home/michael/git/iPaperzButterApi/iPaperzButterApi/src/com/ipaperz/butter/shared/RestApi.java:[10,20] package me.pubz.pojo does not exist
[ERROR] /home/michael/git/iPaperzButterApi/iPaperzButterApi/src/com/ipaperz/butter/shared/RestApi.java:[12,31] package com.ipaperz.butter.pojo does not exist

-> pom.xml

<?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/xsd/maven-4.0.0.xsd">
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <modelVersion>4.0.0</modelVersion>
    <groupId>iPaperzButterApi</groupId>
    <artifactId>iPaperzButterApi</artifactId>
    <version>1.0</version>
    <packaging>war</packaging>
    <build>
        <finalName>iPaperzButterApi</finalName>
        <sourceDirectory>src</sourceDirectory>
        <plugins>
            <plugin>           
                <configuration>               
                    <failOnError>true</failOnError>
                </configuration>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>gwt-maven-plugin</artifactId>
                <version>2.7.0</version>
                <executions>
                    <execution>
                        <goals>                           
                            <goal>compile</goal>
                            <goal>generateAsync</goal>
                            <goal>test</goal>
                        </goals>
                    </execution>
                </executions>               
            </plugin>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <appendAssemblyId>false</appendAssemblyId>
                    <source>1.7</source>
                    <target>1.7</target>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.4</version>
                <configuration>
                    <packagingIncludes>**/*</packagingIncludes>
                    <appendAssemblyId>false</appendAssemblyId>
                    <warSourceDirectory>WebContent</warSourceDirectory>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
            <version>1.4.01</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.containers</groupId>
            <artifactId>jersey-container-servlet</artifactId>
            <version>2.14</version>
        </dependency>
        <dependency>
            <groupId>com.mchange</groupId>
            <artifactId>c3p0</artifactId>
            <version>0.9.5</version>
        </dependency>
        <dependency>
            <groupId>org.jsoup</groupId>
            <artifactId>jsoup</artifactId>
            <version>1.8.1</version>
        </dependency>
        <dependency>
            <groupId>org.fusesource.restygwt</groupId>
            <artifactId>restygwt</artifactId>
            <version>2.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-email</artifactId>
            <version>1.3.3</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.34</version>
        </dependency>
        <dependency>
            <groupId>com.io7m.xom</groupId>
            <artifactId>xom</artifactId>
            <version>1.2.10</version>
        </dependency>
        <dependency>
            <groupId>nl.siegmann.epublib</groupId>
            <artifactId>epublib-core</artifactId>
            <version>3.1</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.5.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.solr</groupId>
            <artifactId>solr-solrj</artifactId>
            <version>4.10.3</version>
        </dependency>
        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jsch</artifactId>
            <version>0.1.51</version>
        </dependency>
        <dependency>
            <groupId>net.sourceforge.htmlcleaner</groupId>
            <artifactId>htmlcleaner</artifactId>
            <version>2.10</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.3.2</version>
        </dependency>
        <dependency>
            <groupId>commons-io</groupId>
            <artifactId>commons-io</artifactId>
            <version>2.4</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.media</groupId>
            <artifactId>jersey-media-json-jackson</artifactId>
            <version>2.14</version>
        </dependency>
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-user</artifactId>
            <version>2.7.0</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>com.google.gwt</groupId>
            <artifactId>gwt-servlet</artifactId>
            <version>2.7.0</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.realityforge.gwt.cache-filter</groupId>
            <artifactId>gwt-cache-filter</artifactId>
            <version>0.6</version>
        </dependency>
    </dependencies>
    <repositories>
        <repository>
            <id>psiegman-repo</id>
            <url>https://github.com/psiegman/mvn-repo/raw/master/releases</url>
        </repository>
    </repositories>
</project>


-> Eclipse linked sources:

    <linkedResources>
        <link>
            <name>pojos</name>
            <type>2</type>
            <locationURI>GIT/SHARED-POJOS/SHARED-POJOS/src</locationURI>
        </link>
        <link>
            <name>server</name>
            <type>2</type>
            <locationURI>GIT/SHARED-SERVER/SHARED-SERVER/src</locationURI>
        </link>
    </linkedResources>

No comments:

Post a Comment