Как правильно разместить этот JAR-файл в моем локальном репо? - PullRequest
1 голос
/ 09 мая 2011

Я использую Maven 3.0.3. Очевидно, что драйверы Oracle JDBC недоступны в общедоступном репозитории Maven, поэтому я просто ограничился их установкой на свой локальный репозиторий. Поэтому я создал этот файл

~/.m2/repository/oracle/oracle/10.2.0.3.0/classes12.jar

У меня есть это в моем файле pom.xml ...

<dependency>
  <groupId>oracle</groupId>
  <artifactId>classes12</artifactId>
  <version>10.2.0.3.0</version>
</dependency>

Все же после запуска maven я получаю эту ошибку. Как мне структурировать локальное репо? - Дэйв

[ERROR] Failed to execute goal on project infinitiusa_leads_testing: Could not resolve dependencies for project infinitiusa_leads_testing:infinitiusa_leads_testing:jar:1.0-SNAPSHOT: Failure to find oracle:classes12:jar:10.2.0.3.0 in http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException

1 Ответ

2 голосов
/ 09 мая 2011

Прежде всего, вы должны установить файл в хранилище, а не только скопировать его в нужный каталог. См. Ответ: Найти драйвер Oracle JDBC в репозитории Maven .

Во-вторых, каталог на самом деле не прав. Для зависимости, которую вы указали в pom.xml, она должна находиться в:

~/.m2/repository/oracle/classes12/10.2.0.3.0/classes12-10.2.0.3.0.jar

Но об этом позаботится install:install-file, не манипулируйте каталогом хранилища вручную (кроме удаления некоторых вещей, maven иногда путается и требует перезагрузки , но это другая история).

mvn install:install-file -DgroupId=oracle -DartifactId=classes12 \
 -Dversion=10.2.0.3.0 -Dpackaging=jar -Dfile=classes12.jar

Кстати, com.oracle считают groupId.

Также maven обычно дает очень точную командную строку, которую вы должны запустить, чтобы установить отсутствующую зависимость в вашем локальном хранилище. Не знаю, почему это не произошло в вашем случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...