Java 从其他目录运行gradle命令
我有文件夹“A”和文件夹“B”Java 从其他目录运行gradle命令,java,gradle,Java,Gradle,我有文件夹“A”和文件夹“B” 文件夹“B”具有渐变代码 我想从文件夹“B”的文件夹“A”运行gradle clean和gradle build命令 如何执行此操作?使用-b参数(即--build file) 您应该使用“开始目录”参数(-p,--project dir:请参阅) 我认为另一个可用参数-b--build file也可以工作,但它的主要用途是当您的构建脚本文件名与默认的build.gradle不同时 这比看起来要难。 Dispite为--project dir,--gradle u
文件夹“B”具有渐变代码 我想从文件夹“B”的文件夹“A”运行
gradle clean
和gradle build
命令如何执行此操作?使用
-b
参数(即--build file
)
您应该使用“开始目录”参数(-p,--project dir
:请参阅)
我认为另一个可用参数
-b--build file
也可以工作,但它的主要用途是当您的构建脚本文件名与默认的build.gradle
不同时 这比看起来要难。
Dispite为--project dir,--gradle user home,--build file设置不同的值
无论您做什么,当您从build.gradle中“println project.projectDir”时
脚本将始终报告“build.gradle”所在的目录
我想在gradle中重新安排事情,因为gradle污染了您的根目录
有很多垃圾!“干净代码”的鲍勃叔叔(罗伯特·C·马丁)可能会把这种行为称为“粗鲁代码”
经过一整天的搜寻,我终于找到了答案。
以下是我的项目结构:
<root_folder>
|
+--[ .git ]
+--[ .gitignore ]
|
+--[-]src/main/java
| |
| +--Main.java
|
+--[-]RUN_ON_CMD
|
+--[-]Gradle
+--[ build.gradle ]
+--[ RUN.sh ]
|
+--[-]GENERATED
build.gradle:
main.java
要运行: 在“Gradle”文件夹中执行“git bash here”。 然后键入: //RUN.sh 然后按回车键
我的输出:(TDD_JAVA==根文件夹)
gradle产生的所有垃圾都被放入 “生成的”文件夹。然后,my.gitignore确保不提交任何垃圾邮件。对我来说,这很有效
gradle clean build --console=plain -p ${projectPath}
其中:
clean:用于“清理”build/libs文件夹。
控制台普通:仅在控制台中显示生成结果
到底是什么问题?您不知道如何启动存储在另一个目录中的程序?
GENERATED/
apply plugin: 'java'
apply plugin: 'application'
println "[project.projectDir]:"
println project.projectDir
mainClassName = 'Main'
sourceSets {
main {
java {
//:Because "build.gradle" lives in:
//:<root>\RUN_ON_CMD\Gradle\GENERATED\
srcDir '../../../src/main/java'
}
}
}
build_gradle=$( realpath build.gradle )
echo $build_gradle
current_directory=$( realpath "." )
echo $current_directory
generated=${current_directory}/"GENERATED"
echo $generated
cp $build_gradle $generated/"build.gradle"
gradle run -b $generated/"build.gradle" -g $generated --no-daemon
public class
Main{
public static void
main(
String[] args
){
System.out.println("[MAIN]");
}
}
JMIM@DESKTOP-JUDCNDL MINGW64 /c/DEV/REPO/GIT/TDD_JAVA/RUN_ON_CMD/Gradle (master)
$ ./RUN.sh
/c/DEV/REPO/GIT/TDD_JAVA/RUN_ON_CMD/Gradle/build.gradle
/c/DEV/REPO/GIT/TDD_JAVA
/c/DEV/REPO/GIT/TDD_JAVA/RUN_ON_CMD/Gradle
/c/DEV/REPO/GIT/TDD_JAVA/RUN_ON_CMD/Gradle/GENERATED
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/5.4.1/userguide/gradle_daemon.html.
Daemon will be stopped at the end of the build stopping after processing
> Configure project :
[project.projectDir]:
C:\DEV\REPO\GIT\TDD_JAVA\RUN_ON_CMD\Gradle\GENERATED
> Task :run
[MAIN]
BUILD SUCCESSFUL in 8s
2 actionable tasks: 1 executed, 1 up-to-date
gradle clean build --console=plain -p ${projectPath}