通过添加依赖项来运行Maven项目

时间:2019-11-17 07:06:32

标签: maven nlp dependencies

我正在尝试从Emory NLP运行此DDR(深度依赖关系表示)转换工具:https://github.com/elitcloud/elit-java/tree/master/elit-ddr

我已经在名为depConverter的新目录中创建了一个新的Maven项目,并将来自网站的指定依赖项添加到DepConverter中的pom.xml文件中。这个pom.xml文件是通过自动创建一个新的默认Maven项目而构建的。我认为我缺少此pom.xml文件中的某些内容,无法正常运行DDR工具,因为当我在depConverter中运行指定的命令行命令java cloud.elit.ddr.bin.DDRConvert -i relcl.parse -oe tsv时,出现以下错误:

Error: Could not find or load main class cloud.elit.ddr.bin.DDRConvert

我不清楚Maven如何加载此类。我必须创建一个Java文件来运行此工具吗?

1 个答案:

答案 0 :(得分:0)

假设,问题在于从命令行运行:

尝试从命令行运行时,

DDR库不在类路径中。这就是为什么JVM无法加载预期在该库中找到的主类的原因。

因此您可以尝试运行:

java -classpath <PATH_TO_DDR_JAR> cloud.elit.ddr.bin.DDRConvert -i relcl.parse -oe tsv

这是最简单的方法。 该jar有望在本地Maven存储库(默认情况下为〜/ .m2 / repository)中找到。

Maven简而言之是一个构建工具,它不会在工件内部运行任何东西,也不会像您的情况那样运行任何依赖项。

或者,如果您要“使用” pom中提供的信息(如依赖图),则仍然可以运行mvn exec:exec / mvn exec:java插件并提供相关参数来运行您的选择。

您可以找到有关exec插件here的更多信息。