gpt4 book ai didi

java - Stanford-CoreNLP 和 Stanford-Parser 中的 Maven 类名冲突

转载 作者:行者123 更新时间:2023-11-29 06:35:21 26 4
gpt4 key购买 nike

我的 (maven) 项目依赖于 stanford-CoreNLP 和 stanford-Parser,显然每个依赖项的(词汇化)解析器产生不同的输出,它们并不相同。

我的问题是如何确定应该从哪个包加载解析器?解析器类在两个包中具有相同的名称: edu.stanford.nlp.parser.lexparser.LexicalizedParsermaven 自动从 stanford-coreNLP 包加载类,而我希望它从 stanford-Parser 加载。

如果您能帮我提出建议,我将不胜感激。

最佳答案

我会提出一个错误,要求他们将词法解析器移动到一个新的 Maven Artifact (或其中几个)中,这样您就可以区分它们。

如果没有发生,您有两个选择:

  1. 使用 Maven shade 插件(按照 ooxi 的建议)
  2. 删除有问题的类

第二种方法的分解:

  1. 使用您最喜欢的 ZIP 工具打开 JAR 存档。
  2. 删除有问题的包。
  3. 复制原始POM
  4. 将版本版本更改为类似 1.1.MythBuster.11.1.no-lexer.1
  5. 使用 mvn file:install 将修改后的 Artifact 安装到您的本地仓库中
  6. 测试一下
  7. 使用 mvn deploy:deploy-file 在贵公司的仓库中安装修改后的 Artifact

我更喜欢第二种方法,因为它确保构建有一个干净的类路径,人们知道你弄乱了原始文件并且很明显发生了什么。

关于java - Stanford-CoreNLP 和 Stanford-Parser 中的 Maven 类名冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21990160/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com