gpt4 book ai didi

Java maven 项目 - 从主类运行时有效,但从 'fat' jar 运行时无效

转载 作者:行者123 更新时间:2023-12-02 09:39:12 24 4
gpt4 key购买 nike

我正在尝试使用国际象棋 PGN 解析库来解析 PGN 文件并简单地创建一个文本文件。

  1. 库: https://github.com/bhlangonijr/chesslib

  2. 我的 Maven 项目: https://github.com/divukman/chess_pgn_text/tree/master/pgntotext

<小时/>

问题:

  1. 我可以在 IntelliJ 中运行它(只需运行主类)并且它可以工作。

  2. 如果我创建一个 fat jar(mvn 包)并使用 java -jar target/pgn-to-text-1.0-SNAPSHOT.jar 运行它,我会收到以下错误:

  Exception in thread "main" com.github.bhlangonijr.chesslib.pgn.PgnException: Error parsing PGN[1, ]:
at com.github.bhlangonijr.chesslib.pgn.PgnHolder.loadPgn(PgnHolder.java:343)
at chess.Main.main(Main.java:18)
Caused by: java.lang.NullPointerException
at com.github.bhlangonijr.chesslib.pgn.PgnHolder.loadPgn(PgnHolder.java:206)
... 1 more

知道为什么它在从 IDE 运行时有效,但在从 jar 运行时无效吗?为什么会失败并出现空指针异常?好像没有正确读取文件!?!

最佳答案

看起来 PgnProperty p 在 this 处为空如果您的输入数据格式不正确,该行可能为空 here 。可能您在 IntelliJ 和 fatjar 中使用了不同的文件,这导致了问题。

关于Java maven 项目 - 从主类运行时有效,但从 'fat' jar 运行时无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57235705/

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