【发布时间】:2021-12-10 22:02:39
【问题描述】:
我真的没有太多开发经验,更不用说使用构建工具了。
我被分配了一项任务来在本地构建依赖项并获取 jar 文件。 假设我有一个像这样的 deps (GAV) 列表:-
1. org.jetbrains.kotlin:kotlin-stdlib:1.6.0-RC
2. com.auth0:java-jwt:3.18.2, etc
3. openapi4j:openapi-operation-validator:1.0.7, etc
所以我能够以编程方式从 maven 存储库和 github 下载源代码 url,例如:-
- org.jetbrains.kotlin:kotlin-stdlib:1.6.0-RC - https://github.com/JetBrains/kotlin
- com.auth0:java-jwt:3.18.2 - https://github.com/auth0/java-jwt
- openapi4j-openapi-operation-validator-1.0.7 https://github.com/openapi4j/openapi4j
但是在不同的目录中有很多build.gradle文件,我怎么知道在运行gradle build命令之前我应该移动到哪个目录。
我已经尝试过但失败的事情:-
- 对于像 openapi4j:openapi-operation-validator:1.0.7 这样的 deps,我可以直接进入 Github repo (https://github.com/openapi4j/openapi4j) 中的 openapi-operation-validator 文件夹并运行
gradle build命令,但不能我猜所有项目的结构都是这样的? - 对于像 com.auth0:java-jwt:3.18.2 这样的部门,artifactId (java-jwt
) 已经存在于 github 路径 (https://github.com/auth0/java-jwt) 中,因此我可以在根 github 存储库上运行
gradle build命令。 - 从 spring guides ,在所有可用的 Gradle.build 文件中,我可以检查哪个文件具有:-
jar {
archiveBaseName = <artifactId>
archiveVersion = <version>
}
,然后我可以移动到该目录并运行Gradle build,但并非所有build.gradle 文件都有这个。
上述方法都不是具体的,我可以使用其他可靠的方法来解决问题吗?
【问题讨论】:
-
主要问题:为什么要从源代码构建所有这些库?该计划背后的原因是什么?
-
我被告知不应该将在线可用的jar用于生产,我们必须自己构建它。
-
这是一种奇怪的方法。如果这是关于安全性,那么最好使用开源安全扫描程序来找出它可能存在的危险。
标签: maven gradle build build.gradle build-tools