我在Eclipse的'Referenced Libraries'部分添加了一个jar,现在允许我在编码时查看来自这个jar的对象。但是,当我使用maven构建时,我不断收到The import ____ cannot be resolved
个错误。
我该如何解决这个问题?我必须添加pom.xml
吗?我正在尝试使用smartgwt.jar
。
另外 - 这样做的“正确”方法是什么?
答案 0 :(得分:2)
正如另一个答案所示,你应该使用eclipse 或 maven。 Maven有一个有用的eclipse:eclipse
目标,可以用来生成可以在eclipse中导入的eclipse项目。
我在http://code.google.com/p/smartgwt/issues/detail?id=12上找到了这个例子,值得一试。
基本上,用
更新你的pom.xml<pluginRepositories>
<pluginRepository>
<id>gwt-maven-plugins</id>
<url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/</url>
</pluginRepository>
</pluginRepositories>
<repositories>
<repository>
<id>gwt-maven</id>
<url>http://gwt-maven.googlecode.com/svn/trunk/mavenrepo/</url>
</repository>
<repository>
<id>smartclient</id>
<name>smartclient.com</name>
<url>http://www.smartclient.com/maven2</url>
</repository>
</repositories>
并添加依赖项:
<dependency>
<groupId>com.smartgwt</groupId>
<artifactId>smartgwt</artifactId>
<version>2.0</version>
</dependency>
答案 1 :(得分:2)
Maven对pom.xml
中未声明的内容一无所知,是的,您必须在POM中声明smartgwt。实际上,使用Maven和IDE的常用方法是在POM中添加内容,并从POM在IDE级别生成或派生内容。在Eclipse的情况下,这可以使用maven-eclipse-plugin或M2Eclipse完成(后者将是我的推荐,并支持双向操作)。
尽管如此,事实是smartgwt并未在Maven中央存储库中分发,因此您必须添加其存储库(在哪里找到它)和依赖项。
<project>
...
<repositories>
<repository>
<id>SmartGWT</id>
<url>http://www.smartclient.com/maven2</url>
</repository>
</repositories>
...
<dependencies>
<dependency>
<groupId>com.smartgwt</groupId>
<artifactId>smartgwt</artifactId>
<version>2.1</version><!-- or whatever version you're using -->
</dependency>
...
</dependencies>
</project>
smartgwt项目以某种方式在HowToEclipseGWTMaven中提供了一些(过时的)文档。
答案 2 :(得分:1)
您应该通过Eclipse或maven管理您的依赖项。 Maven有一个很好的实用程序来创建Eclipse项目文件,还有一个插件来管理Eclipse中的pom文件。
要专门解决您的问题,您需要找到所需jar的artifactId和groupId(以及可能的版本)。然后将其添加到pom文件中。然后maven将正确构建。