我有一个私有的远程存储库,其中不仅有Java项目,外部依赖,而且还有Gradle可执行文件:
grade and gradle.bat
。在我克隆项目之前,我获得了外部依赖项(Gradle也是):
git submodule update --init
我第一次处理这个项目,之后我
git clone <project URL>
然后进入Gradle可执行文件的位置,输入:
./gradle -v
出现错误:
错误:无法找到或加载主类org.gradle.launcher.GradleMain
引起的:java.lang.ClassNotFoundException: org.gradle.launcher.GradleMain
我的同事,几个月前一直在做这个项目,在删除项目并重新克隆它之后,可以成功地执行命令:
./gradle -v
第二个同事,和我一样从来没有做过这个项目,他试图克隆它,结果和我一样出现了错误。
然而,当我试图在我的PC上安装Gradle(从gradle.org)并执行此命令时:
gradle -v
执行成功
这个项目不假设你已经预装了Gradle,也没有Gradle配置文件,只是原始的git克隆应该为你提供一切。
我想可能是一些ENV配置错误,但在看了我和同事的Gradle工作后,没有发现特殊的差异。
你知道哪里可以隐藏问题吗?我看到了很多资源,主要是人们建议:
- 配置$PATH(但这不应该是解决方案,因为所有的东西都来自远程repo)
- 配置构建。Gradle文件(这可能是一个很好的解决方案,然而,它如何在我的"第一个同事"上工作?)而在我的电脑上却没有文件在克隆时正在下载)
所以我不知道…问题在哪里?这还是环境问题吗?
如果您认为没有环境问题可能导致它,我建议试试这个:
apt install git-lfs
这不是Git的官方"插件",但它有助于处理大文件,如视频、音频、第三方库(你的情况),有时如果你的Git使用LFS,可能会在克隆项目时产生问题
裁判:https://git-lfs.github.com/
UPD:你的步骤可能看起来像:
a) apt install git-lfs
b) git clone…