Maven 2 Maven-添加源依赖项;但是eclipse中没有用于GWT编译的java源文件

Maven 2 Maven-添加源依赖项;但是eclipse中没有用于GWT编译的java源文件,maven-2,gwt,dependencies,Maven 2,Gwt,Dependencies,通常下面的pom配置适合我。过去,我成功地将jar文件的源代码作为依赖项添加到项目中 我有两个定义如下的jar文件: <dependencies> <dependency> <groupId>myGroup</groupId> <artifactId>myJar</artifactId> <version>4.0</version> <t

通常下面的pom配置适合我。过去,我成功地将jar文件的源代码作为依赖项添加到项目中

我有两个定义如下的jar文件:

<dependencies>  
  <dependency>  
    <groupId>myGroup</groupId>  
    <artifactId>myJar</artifactId>  
    <version>4.0</version>   
    <type>jar</type>  
    </dependency>    
  <dependency>  
    <groupId>myGroup</groupId>  
    <artifactId>myJar</artifactId>  
    <version>4.0</version>  
    <type>jar</type>  
    <classifier>sources</classifier>  
  </dependency>  
</dependencies>
当我从windows资源管理器视图中打开myJar-4.0-sources.jar文件时,我会看到它关联的包中的所有java源文件。但是当我在maven依赖项中查看eclipse项目时,我只看到了xml文件,而没有看到myJar-4.0-sources.jar的java文件

顺便说一句,不管我是在eclipse内部还是外部运行maven构建,它都会抱怨在myJar-4.0-sources.jar中找不到类的源代码

顺便说一句,这是一个GWT编译

以下是实际的错误消息:

[INFO] [gwt:compile {execution: default}] [INFO] auto discovered modules [com.noesis.calendar.events.CalendarEvents] [INFO] Loading inherited module 'com.noesis.commons.Commons' [INFO] [WARN] Non-canonical source package: ./ [INFO] Compiling module com.noesis.calendar.events.CalendarEvents [INFO] Validating newly compiled units [INFO] [ERROR] Errors in 'file:/C:/dev/pouncil_projects/calendar-events/src/main/java/com/noesis/calendar/events/shared/model/Calendar Event.java' [INFO] [ERROR] Line 102: No source code is available for type com.noesis.commons.exceptions.CloneException; did you forget to inher it a required module? [INFO] [ERROR] Errors in 'jar:file:/C:/Documents%20and%20Settings/Tonte%20Pouncil/.m2/repository/com/noesis/commons/noesis-commons/0.0 .1-SNAPSHOT/noesis-commons-0.0.1-SNAPSHOT-sources.jar!/com/noesis/commons/domain/models/core/BaseEntityModel.java' [INFO] [ERROR] Line 27: No source code is available for type com.noesis.commons.exceptions.CloneException; did you forget to inheri t a required module? [INFO] [ERROR] Errors in 'jar:file:/C:/Documents%20and%20Settings/Tonte%20Pouncil/.m2/repository/com/noesis/commons/noesis-commons/0.0 .1-SNAPSHOT/noesis-commons-0.0.1-SNAPSHOT-sources.jar!/com/noesis/commons/domain/models/core/DomainModelException.java' [INFO] [ERROR] Line 6: No source code is available for type com.noesis.commons.exceptions.ApplicationException; did you forget to i nherit a required module? [INFO] [ERROR] Line 14: No source code is available for type com.noesis.commons.Context; did you forget to inherit a required modul e? [INFO] [ERROR] Errors in 'jar:file:/C:/Documents%20and%20Settings/Tonte%20Pouncil/.m2/repository/com/noesis/commons/noesis-commons/0.0 .1-SNAPSHOT/noesis-commons-0.0.1-SNAPSHOT-sources.jar!/com/noesis/commons/domain/models/core/PersistableBaseModel.java' [INFO] [ERROR] Line 70: No source code is available for type com.noesis.commons.calendar.CalendarUtility; did you forget to inherit a required module? [INFO] [ERROR] Line 84: The method clone() is undefined for the type Object [INFO] [ERROR] Line 91: No source code is available for type com.noesis.commons.exceptions.CloneException; did you forget to inheri t a required module? [INFO] Finding entry point classes [INFO] [ERROR] Unable to find type 'com.noesis.calendar.events.client.CalendarEvents' [INFO] [ERROR] Hint: Previous compiler errors may have made this type unavailable [INFO] [ERROR] Hint: Check the inheritance chain from your module; it may not be inheriting a required module or a module may not b e adding its source path entries properly [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR` [INFO] [ERROR] Line 102: No source code is available for type com.noesis.commons.exceptions.CloneException; did you forget to inher it a required module?
有人知道为什么会出现这种情况吗?

GWT在编译后的JAR中查找依赖项源 类文件。既然图书馆在你的控制之下,那你最好 课程包括类文件和源文件 同样的罐子。要执行此操作,请在的部分中添加一个 假设标准Maven源布局的POM:

<project>
  <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
      </resource>
    </resources>
  </build>
</project>

GWT在与编译的JAR相同的JAR中查找依赖项源 类文件。既然图书馆在你的控制之下,那你最好 课程包括类文件和源文件 同样的罐子。要执行此操作,请在的部分中添加一个 假设标准Maven源布局的POM:

<project>
  <build>
    <resources>
      <resource>
        <directory>src/main/java</directory>
      </resource>
    </resources>
  </build>
</project>

我终于发现我的问题是。这是我的.gwt.xml文件。它没有正确引用GWT类。并不是说我解决了这个问题,我相信我最初希望通过源jar文件引用源库的方法会奏效。谢谢。

我终于明白我的问题出在哪里了。这是我的.gwt.xml文件。它没有正确引用GWT类。并不是说我解决了这个问题,我相信我最初希望通过源jar文件引用源库的方法会奏效。谢谢。

GWT在编译的类文件所在的JAR中查找依赖项源。您应该在同一个JAR中包含类文件和源文件。为此,在POM部分添加一个:

<project>
  <build>
    <resources>
      <!-- include the source files in our main jar for use by GWT -->
      <resource>
        <directory>${project.build.sourceDirectory}</directory>
      </resource>
      <!-- and continue to include our standard resources -->
      <resource>
        <directory>${basedir}/src/main/resources</directory>
      </resource>
    </resources>
  </build>
</project>

GWT在编译的类文件所在的JAR中查找依赖项源。您应该在同一个JAR中包含类文件和源文件。为此,在POM部分添加一个:

<project>
  <build>
    <resources>
      <!-- include the source files in our main jar for use by GWT -->
      <resource>
        <directory>${project.build.sourceDirectory}</directory>
      </resource>
      <!-- and continue to include our standard resources -->
      <resource>
        <directory>${basedir}/src/main/resources</directory>
      </resource>
    </resources>
  </build>
</project>

首先让我感谢你的回复。非常感谢!在我的pom.xml中使用资源标记对我来说不起作用。此时,我不再关心为什么src文件不会显示在Eclipse的Maven依赖关系树中。为了满足src和类必须在同一个jar中的要求,我使用maven汇编插件创建了一个包含源代码和类的jar。但是,我仍然有与上面相同的错误消息。因此我得出结论,GWT要求源代码在类路径之外的其他地方可用。我真的需要帮助才能通过这个问题。所以任何建议都是好的。谢谢。首先让我感谢你的回复。非常感谢!在我的pom.xml中使用资源标记对我来说不起作用。此时,我不再关心为什么src文件不会显示在Eclipse的Maven依赖关系树中。为了满足src和类必须在同一个jar中的要求,我使用maven汇编插件创建了一个包含源代码和类的jar。但是,我仍然有与上面相同的错误消息。因此我得出结论,GWT要求源代码在类路径之外的其他地方可用。我真的需要帮助才能通过这个问题。所以任何建议都是好的。非常感谢。