maven компиляция не удалась, потому что у меня нет maven банку - PullRequest
2 голосов
/ 14 мая 2010

У меня есть пара внутренних библиотек, которые я не знаю / не знаю, как добавить в мой локальный репозиторий maven. Я добавил их в путь к классам проекта, но мой maven-compile не может указать, что не может найти классы во внешних jar (как и ожидалось):

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project proj: Compilation failure: Compilation failure: 
dir\src\main\java\package\MyClass.java:[8,25] package blah does not exist

dir\src\main\java\package\MyClass.java:[9,25] package blah does not exist

dir\src\main\java\package\MyClass.java:[21,12] cannot find symbol
symbol  : variable Blah
location: class package.MyClass

dir\src\main\java\package\MyClass.java:[28,9] cannot find symbol
symbol  : variable Blah
location: class package.MyClass

Как мне сообщить maven о банке, которую я украдкой добавил в путь к классам моего проекта, чтобы он мог использовать его для компиляции?

1 Ответ

5 голосов
/ 14 мая 2010

Я не уверен, что вы можете получить доступ к системному пути к классам без особых усилий. Вы можете сделать одну из двух других вещей: зависимость от объема системы или добавить ее в локальный репозиторий.

Чтобы использовать системную зависимость , просто добавьте запись для каждой банки, которую вы хотите добавить. Дайте им область "система" и добавьте <systemPath> к каждому. Как то так.

<dependency>
  <groupId>sun.jdk</groupId>
  <artifactId>tools</artifactId>
  <version>1.5.0</version>
  <scope>system</scope>
  <systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>

Затем вы можете использовать свойства -D jvm, если вы настаиваете на изменении местоположения и времени компиляции.

Добавление их в локальное репо немного болезненно, но более долгосрочное решение.

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