2013-09-25 2 views
2

Я занимаюсь этим часами.GWT Maven Project не удается скомпилировать - нет исходного кода для типа

Попытка компиляции проекта Maven GWT, получает следующее сообщение об ошибке в точке GWT компиляции:

[INFO] Компиляция модуля com.ephesoft.dcma.gwt.login.Login
[INFO] валидирующей вновь скомпилированные единицы
[INFO] [ERROR] Ошибки в 'jar: file:/D: /workspace2/dcma-root/dcma-gwt/dcma-gwt-core/target/dcma-gwt-core-0.0.14- > SNAPSHOT.jar! /com/ephesoft/dcma/gwt/core/client/validator/ValidatorFactory.java '
[INFO] [ОШИБКА] Строка 47: Нет исходного кода для типа com.ephesoft.dcma.core. common.DataType; вы забыли унаследовать необходимый модуль?
[INFO] [ERROR] Ошибки в jar: файл:/D: /workspace2/dcma-root/dcma-gwt/dcma-gwt-core/target/dcma-gwt-core-0.0.14-SNAPSHOT.jar ! /com/ephesoft/dcma/gwt/core/client/ui/RotatableImage.java '
[INFO] [ERROR] Строка 54: Нет исходного кода для типа com.ephesoft.dcma.batch.schema.Direction; вы забыли унаследовать необходимый модуль?
[INFO] [ERROR] Ошибки в jar: файл:/D: /workspace2/dcma-root/dcma-gwt/dcma-gwt-core/target/dcma-gwt-core-0.0.14-SNAPSHOT.jar ! /com/ephesoft/dcma/gwt/core/shared/comparator/DocumentTypeComparator.java»
...
...

и этот список можно продолжить ...

это мой файл WebApp пОМ -
DCMA корень \ DCMA-WebApp \ 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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <packaging>war</packaging> 

    <parent> 
     <groupId>com.ephesoft.dcma</groupId> 
     <artifactId>dcma-gwt</artifactId> 
     <version>0.0.14-SNAPSHOT</version> 
     <relativePath>../dcma-gwt</relativePath> 
    </parent> 
    <artifactId>dcma-webapp</artifactId> 
    <name>DCMA: Web application Model</name> 
    <description>The DCMA web Application model.</description> 

    <dependencies> 
     <dependency> 
      <groupId>com.ephesoft.dcma</groupId> 
      <artifactId>dcma-gwt-home</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.ephesoft.dcma</groupId> 
      <artifactId>dcma-gwt-login</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.ephesoft.dcma</groupId> 
      <artifactId>dcma-gwt-review-validate</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.ephesoft.dcma</groupId> 
      <artifactId>dcma-gwt-admin</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.ephesoft.dcma</groupId> 
      <artifactId>dcma-folder-monitor</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.ephesoft.dcma</groupId> 
      <artifactId>dcma-heart-beat</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.ephesoft.dcma</groupId> 
      <artifactId>dcma-mail-import</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.ephesoft.dcma</groupId> 
      <artifactId>dcma-gwt-batchInstance</artifactId> 
     </dependency> 
     <dependency> 
      <groupId>com.ephesoft.dcma</groupId> 
      <artifactId>dcma-gwt-reporting</artifactId> 
     </dependency>  
     <dependency> 
      <groupId>com.ephesoft.dcma</groupId> 
      <artifactId>dcma-gwt-upload-batch</artifactId> 
     </dependency> 
    </dependencies> 

    <build> 
     <plugins> 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-eclipse-plugin</artifactId> 
       <version>2.8</version> 
       <configuration> 
        <additionalProjectnatures> 
         <projectnature>org.springframework.ide.eclipse.core.springnature</projectnature> 
         <projectnature>com.google.gwt.eclipse.core.gwtNature</projectnature> 
         <projectnature>com.google.appengine.eclipse.core.gaeNature</projectnature> 
        </additionalProjectnatures> 
        <additionalBuildcommands> 
         <buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand> 
         <buildcommand>com.google.gwt.eclipse.core.gwtProjectValidator</buildcommand> 
         <buildcommand>com.google.appengine.eclipse.core.enhancerbuilder</buildcommand> 
        </additionalBuildcommands> 
        <classpathContainers> 
         <classpathContainer>com.google.gwt.eclipse.core.GWT_CONTAINER</classpathContainer> 
        </classpathContainers> 
        <wtpversion>1.5</wtpversion> 
       </configuration> 
      </plugin> 
      <plugin> 
       <groupId>org.codehaus.mojo</groupId> 
       <artifactId>gwt-maven-plugin</artifactId> 
       <version>${gwt.maven.plugin.version}</version> 
       <executions> 
        <execution> 
         <configuration> 
          <modules> 
           <module>com.ephesoft.dcma.gwt.core.Core</module> 
           <module>com.ephesoft.dcma.batch.Batch</module> 
           <module>com.ephesoft.dcma.gwt.login.Login</module> 
           <module>com.ephesoft.dcma.gwt.admin.bm.BatchClassManagement</module> 
           <module>com.ephesoft.dcma.gwt.home.BatchList</module> 
           <module>com.ephesoft.dcma.gwt.rv.ReviewValidate</module> 
           <module>com.ephesoft.dcma.gwt.batchInstance.BatchInstance</module> 
           <module>com.ephesoft.dcma.gwt.reporting.Report</module> 
           <module>com.ephesoft.dcma.gwt.uploadbatch.UploadBatch</module> 
          </modules> 
          <localWorkers>2</localWorkers> 
          <extraJvmArgs>-Xmx768m</extraJvmArgs> 
          <sourcesOnPath>false</sourcesOnPath> 
          <force>true</force> 
         </configuration> 
         <goals> 
          <goal>compile</goal> 
         </goals> 
        </execution> 
       </executions> 
      </plugin> 
     </plugins> 
    </build> 

    <profiles> 
     <profile> 
      <id>stand-alone</id> 
      <build> 
       <plugins> 
        <plugin> 
         <groupId>org.codehaus.mojo</groupId> 
         <artifactId>exec-maven-plugin</artifactId> 
         <version>1.1.1</version> 
         <executions> 
          <execution> 
           <phase>test</phase> 
           <goals> 
            <goal>java</goal> 
           </goals> 
           <configuration> 
            <mainClass>com.ephesoft.dcma.webapp.DCMAExecuter</mainClass> 
            <arguments> 
             <argument>none</argument> 
            </arguments> 
           </configuration> 
          </execution> 
         </executions> 
        </plugin> 
       </plugins> 
      </build> 
     </profile> 
    </profiles> 
</project> 

DCMA корень \ DCMA-GWT \ DCMA-GWT-Логин \ SRC \ главная \ Java \ COM \ ephesoft \ DCMA \ GWT \ Логин \ Login.gwt.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 1.6.4//EN" "http://google-web-toolkit.googlecode.com/svn/tags/1.6.4/distro-source/core/src/gwt-module.dtd"> 
<module rename-to='login'> 
    <inherits name='com.google.gwt.user.User' /> 
    <inherits name='com.ephesoft.dcma.gwt.core.Core' /> 

    <entry-point class='com.ephesoft.dcma.gwt.login.client.LoginEntryPoint' /> 

</module> 

DCMA корень \ DCMA-GWT \ DCMA-GWT-ядро \ SRC \ главная \ Java \ COM \ ephesoft \ DCMA \ GWT \ ядро ​​\ Core.gwt.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<module rename-to='core'> 
    <inherits name='com.google.gwt.user.User' /> 
    <source path='client' /> 
    <source path='shared' /> 
    <inherits name="com.googlecode.gwt.math.Math" /> 
    <inherits name="com.ephesoft.dcma.batch.Batch" /> 
    <inherits name="com.ephesoft.dcma.core.Common" /> 
    <inherits name="com.ephesoft.dcma.da.Property" /> 
    <inherits name="com.google.gwt.i18n.I18N" /> 

    <inherits name='com.google.gwt.user.theme.standard.Standard' /> 
    <stylesheet src='css/style.css' /> 



</module> 

DCMA корень \ DCMA -gwt \ dcma-gwt-core \ src \ main \ java \ com \ ephesoft \ dcma \ core \ Common.gwt.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<module rename-to='coreCommon'> 

    <inherits name='com.google.gwt.user.User' /> 
    <source path="common" /> 
</module> 

поэтому вход включает в себя ядро, которое в свою очередь включает в себя Common, поэтому в чем проблема?

Я бы очень признателен за помощь!

+0

Как '' объявлен Common.gwt.xml-х? –

+0

<модуль переименования к = 'coreCommon'> \t <наследует имя = 'com.google.gwt.user.User' /> \t <исток = "общий" /> Но вот Common.gwt .xml общего dcma-gwt-core. Наследования в Core.gwt.xml предполагают включить dcma.core.Common (в отличие от dcma-gwt-core). или, может быть, я все понял неправильно? – sahar

ответ

5

Если я правильно понял вопрос, вам нужно скомпилировать gwt-модуль, который зависит от другого? Для решения этой задачи мы использовали в Зависело модуле

<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>gwt-maven-plugin</artifactId> 
    <version>${gwt.version}</version> 
    <executions> 
     <execution> 
     <goals> 
      <goal>compile</goal> 
     </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <extraJvmArgs>-Xmx1024M</extraJvmArgs> 
     <localWorkers>3</localWorkers> 
     <optimizationLevel>${gwt.optimize}</optimizationLevel> 
     <style>OBF' -XenableClosureCompiler '-XenableClosureCompiler</style> 
     <workDir>${project.build.directory}/gwt/temp</workDir> 
     <deploy>${project.build.directory}/WEB-INF/deploy</deploy> 
     <modules> 
     <module>${module}</module> 
     </modules> 
     <hostedWebapp>${webappDirectory}</hostedWebapp> 
     <logLevel>WARN</logLevel> 
     <compileSourcesArtifacts> 
     <compileSourcesArtifact>groupId:artifactId</compileSourcesArtifact> 
     </compileSourcesArtifacts> 
    </configuration> 
    </plugin> 

Где <compileSourcesArtifact>groupId:artifactId</compileSourcesArtifact> выглядит <compileSourcesArtifact>com.google.gwt:gwt-user</compileSourcesArtifact> и в основном модуле

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-source-plugin</artifactId> 
    <executions> 
     <execution> 
     <id>attach-sources</id> 
     <phase>package</phase> 
     <goals> 
      <goal>jar</goal> 
     </goals> 
     </execution> 
    </executions> 
    </plugin> 
+0

это сработало !! Я почти сдался! с небольшими изменениями - версия gwt-maven-plugin должна была быть 2.5.1, что в свою очередь мне пришлось изменить версию gwt тоже на 2.5.1 (в противном случае возникает ArrayIndexOutOfBoundsException). Кроме того, это элементы «compileSourcesArtifact» внутри «compileSourcesArtifacts». Большое спасибо! – sahar

Смежные вопросы