Tuesday, January 5, 2016

GWT maven plugin can't find shared sources (take 2)

Sorry. I really needed to edit this post, but it doesn't seem that I can. So I had to delete it and remake it. Anyway...

I migrated a maven-gwt-plugin project to "Maven Plugin for GWT" (https://tbroyer.github.io/gwt-maven-plugin/). To do this, I generated a new project with the archetype provided. Upon simply running that application, it worked fine.

Then I copied client files to the client, server to server, and shared to shared. After getting everything sorted out and attempting to run the codeserver, I get a bunch of:

[ERROR] Line 65: No source code is available for type com.some.package.shared.AClass; did you forget to inherit a required module?

I ran the codeserver via mvn gwt:codeserver -pl client -am and I tried mvn gwt:codeserver -pl client,shared -am to see if that would help.

These are my client shared dependencies (not changed from the default project):

<dependency>
    <groupId>${project.groupId}</groupId>
    <artifactId>phoenix-shared</artifactId>
    <version>${project.version}</version>
</dependency>
<dependency>
    <groupId>${project.groupId}</groupId>
    <artifactId>phoenix-shared</artifactId>
    <version>${project.version}</version>
    <classifier>sources</classifier>
</dependency>


My client build section:

<build>
    <plugins>
        <plugin>
            <groupId>net.ltgt.gwt.maven</groupId>
            <artifactId>gwt-maven-plugin</artifactId>
            <configuration>
                <moduleName>com.path.to.client.Home</moduleName>
                <moduleShortName>Home</moduleShortName>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>


My i18n stuff is in my shared module, so I had to change the build for shared a bit:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-source-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>gwt-maven-plugin</artifactId>
            <version>${gwtVersion}</version>
            <executions>
                <execution>
                    <goals>
                        <goal>i18n</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <i18nMessagesBundle>com.path.to.shared.i18n.PhxMessages</i18nMessagesBundle>
                <i18nConstantsWithLookupBundle>com.path.to.shared.i18n.ValidationMessages</i18nConstantsWithLookupBundle>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>2.3.2</version>
            <configuration>
                <source>1.7</source>
                <target>1.7</target>
            </configuration>
        </plugin>
    </plugins>
</build>

And finally my module.gwt.xml:

<module>
    <inherits name='com.google.gwt.user.User' />
    <inherits name="com.ecrsoft.phoenix.shared.Shared"/>
    <inherits name='com.google.gwt.user.theme.standard.Standard' />

    <set-configuration-property name='xsiframe.failIfScriptTag' value='FALSE'/>

    <entry-point class='com.path.to.client.Home' />
    <source path='' />
</module>                                


and my Shared.gwt.xml:

<module rename-to='Shared'>
<inherits name='com.google.gwt.user.User' />
<inherits name="com.google.gwt.i18n.I18N"/>

<source path='' />
</module>

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To post to this group, send email to google-web-toolkit@googlegroups.com.
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment