Плагин знатока не может загрузить класс

Интернет-камеры, с которыми работает моя компания, имеют интерфейс браузера, который делает именно это. К сожалению, у нас нет доступа к источнику для встроенного видеоплеера, однако на следующем сайте он есть.

http://en.pudn.com/downloads357/doc/detail1552764_en.html

Еще одна досадная вещь заключается в том, что этот сайт требует, чтобы вы сначала зарегистрировались, а затем отправили 5 кусочки кода, чтобы получить доступ к загрузке. Я еще не завершил загрузку, но чувствую, что это может быть погоня за белым кроликом, я делюсь этим только потому, что могу ошибаться.

15
задан Rich Seller 30 July 2009 в 19:12
поделиться

1 ответ

Я уверен, что есть способ получше, но вот как я заставил его работать:

Добавьте следующее в javadoc в верхней части вашего mojo: @requiresDependencyResolution runtime

Добавьте параметр MavenProject:

/**
 * @parameter expression="${project}"
 * @required
 * @readonly
 */
private MavenProject project;

Затем вы можете получить зависимости во время выполнения и создать свой собственный загрузчик классов:

List runtimeClasspathElements = project.getRuntimeClasspathElements();
URL[] runtimeUrls = new URL[runtimeClasspathElements.size()];
for (int i = 0; i < runtimeClasspathElements.size(); i++) {
  String element = (String) runtimeClasspathElements.get(i);
  runtimeUrls[i] = new File(element).toURI().toURL();
}
URLClassLoader newLoader = new URLClassLoader(runtimeUrls,
  Thread.currentThread().getContextClassLoader());

Затем вы можете загрузить свой класс с помощью этого нового загрузчика классов:

Class bundle = newLoader.loadClass("package.MyClass");
17
ответ дан 1 December 2019 в 01:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: