java 无法通过Gradle构建Fat Jar

k2fxgqgv  于 2022-12-25  发布在  Java
关注(0)|答案(1)|浏览(130)

当我尝试将API密钥连接到给定的应用时,应用崩溃,并出现以下错误:
第一个月
我现在意识到我需要"为我的平台构建一个特定的二进制文件(JAR)"。我已经尝试了几个小时,但实际上不知道该怎么做。任何帮助都将不胜感激。
规格:
MacOS大苏尔v11.6.8
Java 17.0.5版
Gradle版本7.6
自制版本3.6.16
项目的GitHub链接:https://github.com/quantverse/ptltrader
Instructions for building are in the "README.md" file.
我通常通过终端运行JAR文件,在我尝试通过API连接到网站之前,该文件一直运行良好,但此时应用崩溃。当我尝试运行任何Gradle功能时,由于它是JAR文件,因此无法正常工作。
我下载了. zip文件并尝试再次运行Gradle,但出现了几个错误。我认为这些错误是由于代码是在2012年编写的,因此已经过时。按照stackoverflow的建议替换了几行代码后(例如用"testImplementation"代替"testCompile",用"doLast"代替"〈〈"),我尝试按照源代码的建议运行gradle ./gradlew run,并得到以下错误:
Task './gradlew' not found in root project 'PTLTrader'.
当我尝试gradle run时,我得到以下错误:
> Process 'command '/usr/local/Cellar/openjdk@17/17.0.5/libexec/openjdk.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
此时,我放弃了,因为我不知道我还能做什么。我试图将JAR文件移动到目录中,以便与ZIP文件的其余部分一起运行它,但发生了同样的错误/无法连接到网站API。

dba5bblo

dba5bblo1#

我克隆了您的存储库,可以成功地构建,如下所示:
Project/gradle/wrapper内部的gradle-wrapper.properties中,我将该项目的本地分发URL更改为:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-bin.zip (other versions like gradle-5.1.1-bin.zip should also work, but didn't test.
使用./gradlew build再次运行任务,出现以下错误:
Could not find method leftShift() for arguments [build_77lj9mcapfpzvdg4mdx64jy00$_run_closure7@5775175c] on task ':swtDiag' of type org.gradle.api.DefaultTask.
转到Project/build. gradle并删除了task swtDiag上的<<,该版本在5.0版上已弃用:
现在看起来是这样的:

task swtDiag  {
    println 'archSpec: ' + archSpec
    println 'swtWindowingLibrary: ' + swtWindowingLibrary
    println 'swtArch: ' + swtArch
    println 'swtPlatform: ' + swtPlatform
    
}
BUILD SUCCESSFUL in 1m 21s
3 actionable tasks: 3 executed

注意:请确保使用./gradlew run。这是您的项目特定的gradle配置,而不是系统范围的配置。(./gradlew build./gradlew run都可以正常工作。
参考文献:
documentation about the error of my failed build
distributionUrl mismatch
!!! As the github README.md documentation suggests, you need to use an older JDK version.
See: https://github.com/quantverse/ptltrader#prerequisites

相关问题