Java 如何使nutch插件依赖JAR在运行时可用

Java 如何使nutch插件依赖JAR在运行时可用,java,plugins,ant,ivy,nutch,Java,Plugins,Ant,Ivy,Nutch,我正在编写一个名为entity extractor的nutch 1.7插件,它取决于库 Nutch使用Ivy管理依赖项,因此在我的插件源文件夹中,我有以下Ivy.xml: <!-- ./src/plugins/entity-extractor.ivy.xml --> <ivy-module version="1.0" xmlns:maven="http://ant.apache.org/ivy/maven"> ... <dependencies>

我正在编写一个名为entity extractor的nutch 1.7插件,它取决于库

Nutch使用Ivy管理依赖项,因此在我的插件源文件夹中,我有以下Ivy.xml:

<!-- ./src/plugins/entity-extractor.ivy.xml -->
<ivy-module version="1.0" xmlns:maven="http://ant.apache.org/ivy/maven">

  ...

  <dependencies>                                                                                                                                                                                             
    <dependency org="edu.stanford.nlp" name="stanford-corenlp" rev="3.4.1">                                                                                                                                  
      <artifact name="stanford-corenlp" />                                                                                                                                                                   
      <artifact name="stanford-corenlp" maven:classifier="models"/>                                                                                                                                          
    </dependency>                                                                                                                                                                                            
  </dependencies>                            
</ivy-module>
当模型jar在我的类路径中时,我可以访问以下文件:

InputStream modelStream = ClassLoader.getSystemClassLoader().getSystemResourceAsStream(modelPath);
我的问题是,只有将以下内容放入(nutch-source-home-dir)/ivy/ivy.xml中,这种方法才有效

<!-- ./ivy/ivy.xml -->
<dependency org="edu.stanford.nlp" name="stanford-corenlp" rev="3.4.1">
  <artifact name="stanford-corenlp" />
  <artifact name="stanford-corenlp" maven:classifier="models"/>
</dependency>
通过检查,当我在
/ivy/ivy.xml
中指定依赖项时,我想要的JAR是可用的,而当我没有指定依赖项时,JAR是不可用的。我怎样才能告诉nutch在运行时让我的JAR可用,而不干扰
/ivy/ivy.xml

InputStream modelStream = ClassLoader.getSystemClassLoader().getSystemResourceAsStream(modelPath);
<!-- ./ivy/ivy.xml -->
<dependency org="edu.stanford.nlp" name="stanford-corenlp" rev="3.4.1">
  <artifact name="stanford-corenlp" />
  <artifact name="stanford-corenlp" maven:classifier="models"/>
</dependency>
ClassLoader cl = ClassLoader.getSystemClassLoader();

URL[] urls = ((URLClassLoader)cl).getURLs();

for(URL myurl: urls){
    System.out.println(myurl.getFile());
}