Closed iamPorter closed 2 years ago
D:\Workspace\javaweb-springboot\BilibiliDown\release>java -Dfile.encoding=utf-8 -Dhttps.protocols=TLSv1.2 -jar INeedBiliAV.jar
Windows 10 Java version:11 D:\Workspace\javaweb-springboot\BilibiliDown\release ----Config init begin...---- key-->value: bilibili.name.date.favTime.pattern --> yyMMdd key-->value: bilibili.name.date.cTime.pattern --> yyMMdd key-->value: bilibili.name.format --> (:listName 0_listName)UpName\avTitle-(:favTime favTime-)pAv2-clipTitle-qn key-->value: bilibili.name.doAfterComplete --> true key-->value: bilibili.download.thumbUp --> false key-->value: bilibili.download.playSound --> true key-->value: bilibili.download.maxFailRetry --> 3 key-->value: bilibili.format --> 2 key-->value: bilibili.cc.lang --> zh-CN key-->value: bilibili.flv.ffmpeg --> false key-->value: bilibili.menu.download.plan --> 1 key-->value: bilibili.menu.download.qn --> 1080P key-->value: bilibili.tab.download.qn --> 1080P key-->value: bilibili.pageSize --> 5 key-->value: bilibili.pageDisplay --> listAll key-->value: bilibili.savePath --> download/ key-->value: bilibili.download.poolSize --> 3 key-->value: bilibili.download.period.between.download --> 0 key-->value: bilibili.download.period.between.query --> 0 key-->value: bilibili.download.multiThread.count --> 0 key-->value: bilibili.download.multiThread.minFileSize --> 0 key-->value: bilibili.download.multiThread.singlePattern --> github|ffmpeg|.m4s|.jpg|.png|.webp|.xml key-->value: bilibili.theme --> default key-->value: bilibili.button.style --> design key-->value: bilibili.restrictTempMode --> on key-->value: bilibili.repo --> on key-->value: bilibili.repo.save --> on key-->value: bilibili.repo.definitionStrictMode --> off key-->value: bilibili.alert.isAlertIfDownloded --> true key-->value: bilibili.alert.maxAlertPrompt --> 5 key-->value: bilibili.https.allowInsecure --> false key-->value: bilibili.lockCheck --> false key-->value: bilibili.userAgent.pc --> Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 key-->value: bilibili.user.login --> qr key-->value: bilibili.server.port --> 8787 key-->value: bilibili.user.delete --> true key-->value: bilibili.ffmpegPath --> ffmpeg key-->value: bilibili.system.properties.jre11.override --> false key-->value: bilibili.system.properties.jre11 --> -Dhttps.protocols=TLSv1.2 -Dsun.java2d.uiScale=1.0 -Dswing.boldMetal=false -Dsun.java2d.dpiaware=false config/user.config 路径不存在, 尝试以程序目录为基址进行查找 ----Config ini end...---- savePath: download/ config/user.config 路径不存在, 尝试以程序目录为基址进行查找 config/background.png 路径不存在, 尝试以程序目录为基址进行查找 allowInsecure:false MJTitleBar-init/62 : -3 MJTitleBar-initTitle/84 : 不为null 登录线程被调用... 检查到存在本地Cookies... process 执行完毕 ffmpeg version N-107626-g1368b5a725-20220731 Copyright (c) 2000-2022 the FFmpeg developers built with gcc 12.1.0 (crosstool-NG 1.25.0.55_3defb7b)
+ `config`目录下是否存在文件`app.config`?
+ `config`目录下是否存在文件`app.config.new`?
- 你是怎么运行本程序的,或者说运行本程序的命令行是什么?
双击运行。
- 控制台是否能看见输出?输出类似于:
D:\Workspace\javaweb-springboot\BilibiliDown\release>java -Dfile.encoding=utf-8 -Dhttps.protocols=TLSv1.2 -jar INeedBiliAV.jar Windows 10 Java version:11 D:\Workspace\javaweb-springboot\BilibiliDown\release ----Config init begin...---- key-->value: bilibili.name.date.favTime.pattern --> yyMMdd key-->value: bilibili.name.date.cTime.pattern --> yyMMdd key-->value: bilibili.name.format --> (:listName 0_listName\)UpName\avTitle-(:favTime favTime-)pAv2-clipTitle-qn key-->value: bilibili.name.doAfterComplete --> true key-->value: bilibili.download.thumbUp --> false key-->value: bilibili.download.playSound --> true key-->value: bilibili.download.maxFailRetry --> 3 key-->value: bilibili.format --> 2 key-->value: bilibili.cc.lang --> zh-CN key-->value: bilibili.flv.ffmpeg --> false key-->value: bilibili.menu.download.plan --> 1 key-->value: bilibili.menu.download.qn --> 1080P key-->value: bilibili.tab.download.qn --> 1080P key-->value: bilibili.pageSize --> 5 key-->value: bilibili.pageDisplay --> listAll key-->value: bilibili.savePath --> download/ key-->value: bilibili.download.poolSize --> 3 key-->value: bilibili.download.period.between.download --> 0 key-->value: bilibili.download.period.between.query --> 0 key-->value: bilibili.download.multiThread.count --> 0 key-->value: bilibili.download.multiThread.minFileSize --> 0 key-->value: bilibili.download.multiThread.singlePattern --> github|ffmpeg|\.m4s|\.jpg|\.png|\.webp|\.xml key-->value: bilibili.theme --> default key-->value: bilibili.button.style --> design key-->value: bilibili.restrictTempMode --> on key-->value: bilibili.repo --> on key-->value: bilibili.repo.save --> on key-->value: bilibili.repo.definitionStrictMode --> off key-->value: bilibili.alert.isAlertIfDownloded --> true key-->value: bilibili.alert.maxAlertPrompt --> 5 key-->value: bilibili.https.allowInsecure --> false key-->value: bilibili.lockCheck --> false key-->value: bilibili.userAgent.pc --> Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 key-->value: bilibili.user.login --> qr key-->value: bilibili.server.port --> 8787 key-->value: bilibili.user.delete --> true key-->value: bilibili.ffmpegPath --> ffmpeg key-->value: bilibili.system.properties.jre11.override --> false key-->value: bilibili.system.properties.jre11 --> -Dhttps.protocols=TLSv1.2 -Dsun.java2d.uiScale=1.0 -Dswing.boldMetal=false -Dsun.java2d.dpiaware=false config/user.config 路径不存在, 尝试以程序目录为基址进行查找 ----Config ini end...---- savePath: download/ config/user.config 路径不存在, 尝试以程序目录为基址进行查找 config/background.png 路径不存在, 尝试以程序目录为基址进行查找 allowInsecure:false MJTitleBar-init/62 : -3 MJTitleBar-initTitle/84 : 不为null 登录线程被调用... 检查到存在本地Cookies... process 执行完毕 ffmpeg version N-107626-g1368b5a725-20220731 Copyright (c) 2000-2022 the FFmpeg developers built with gcc 12.1.0 (crosstool-NG 1.25.0.55_3defb7b)
这玩意我暂时不会看——Mac运行环境不能直接运行bat。我会想想办法。
config
目录下是否存在文件app.config
?
config
目录下是否存在文件app.config.new
?
稍后回复。
最后说一句:这是首次启动。
先补一句:有app.config,没有app.config.new。
再补一句:MacOS上在用终端用指令
java -jar INeedBiliAV.jar
似乎是可以在GUI的配置页正常保存配置的,但是直接双击启动是不能保存的。 还有就是下载文件的位置——可能跟启动账号环境有关系——,用终端启动文件会存档在用户目录,但是双击启动时程序会将文件储存在正常情况下找不到的“private”里面。 这样奇葩的程序启动规则是Java问题吗?是的话在#32里面补一下。
./download
./config/app.config
{jar/class所在位置}/config/app.config
app.config
由于默认采用的是相对位置,通过命令行调用的行为很好理解。
在保存config时,程序会寻找当前生效的配置的位置,并在其同级目录下生成app.config.new
,没问题后替换为app.config
。
没有保存成功 是因为 找不到生效的配置。
一个可以复现该现象的例子是:单独将jar包复制到另一个位置,并在那个位置通过命令行运行它。
Mac下双击jar时的具体行为未知,可以肯定的是工作目录发生了改变。推测保存失败、下载保存位置奇葩的原理与例子类似。
一个替代的解决方案是: 不要双击jar运行程序,使用command脚本代替。
具体地,在jar包所在目录创建文件Double-Click-to-Run-for-Mac.command
,其内容为:
#!/bin/bash
# cd 到脚本所在目录
cd $(dirname $0)
java -Dfile.encoding=utf-8 -Dhttps.protocols=TLSv1.2 -jar INeedBiliAV.jar
# java -Dfile.encoding=utf-8 -Dhttps.protocols=TLSv1.2 -jar INeedBiliAV.jar >bili.log 2>&1 &
# java -Dfile.encoding=utf-8 -Dhttps.protocols=TLSv1.2 -jar INeedBiliAV.jar >/dev/null 2>&1 &
并赋予可执行权限。
sudo chmod +x Double-Click-to-Run-for-Mac.command
由于长期没有状态更新,该问题自动关闭。如有需要可重新打开。
无法保存设置,不管设置是否被更改。 该问题似乎普遍存在于最近几个release中。
相关信息
另问:程序不保存账户登录信息跟这个有关系吗?