Maven 2 Maven-添加源依赖项;但是eclipse中没有用于GWT编译的java源文件
通常下面的pom配置适合我。过去,我成功地将jar文件的源代码作为依赖项添加到项目中 我有两个定义如下的jar文件: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
<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要求源代码在类路径之外的其他地方可用。我真的需要帮助才能通过这个问题。所以任何建议都是好的。非常感谢。