Ошибка при добавлении Jar в проект Maven - PullRequest
1 голос
/ 10 марта 2010

Я добавил jar в раздел «Библиотеки со ссылками» в Eclipse, который теперь позволяет мне видеть объекты из этого jar при кодировании. Однако, когда я строю с Maven, я получаю The import ____ cannot be resolved ошибок.

Как мне это исправить? Должен ли я добавить в pom.xml? Я пытаюсь использовать smartgwt.jar.

Кроме того - каков был бы «правильный» способ сделать это?

Ответы [ 3 ]

2 голосов
/ 10 марта 2010

Как следует из другого ответа, вы должны использовать eclipse или maven. Maven имеет полезную цель 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>
2 голосов
/ 10 марта 2010

Maven не знает ничего о вещах, которые не объявлены в pom.xml, поэтому, да, вы должны объявить smartgwt в POM. На самом деле, обычный способ работы с Maven и IDE - это добавлять вещи в POM и генерировать или извлекать вещи на уровне IDE из POM. В случае 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 .

1 голос
/ 10 марта 2010

Вы должны управлять своими зависимостями либо через Eclipse, либо через maven. У Maven есть хорошая утилита для создания файлов проекта Eclipse, и в Eclipse есть плагин для управления файлом pom.

Чтобы конкретно решить вашу проблему, вам нужно найти artifactId и groupId (а также, возможно, и версию) для нужного фляги. Затем добавьте это в файл POM. Тогда maven будет правильно строить.

...