Gradle 在生成 war 之前将目录移动到根目录
Gradle move directory to root before war is generated
我有一个 .war
,它必须有一个可以通过命令行 运行 的入口点,所以 class 的目录必须在 .war
文件.
如何将目录移动到 war 的根目录?
我试过:
plugins {
id 'war'
}
war {
manifest {
attributes(
'Main-Class': '____embedded.____EntryPoint'
)
}
}
tasks.register('moveEntryPoint') {
description 'Copies entrypoint to root dir.'
doLast {
ant.move file: "${buildDir}/classes/java/main/____embedded/",
todir: "${buildDir}/____embedded/"
}
}
compileJava.finalizedBy(moveEntryPoint)
当我尝试构建时出现此错误:
Received unknown event for /home/username/eclipse-workspace/apex/app/build/classes/java/main/____embedded
Stopping file watching and invalidating VFS after an error happened
有几种方法可以做到这一点:
然后,将您的任务附加到 processResources
。
- 告诉 war 插件包含一个目录。
war {
webAppDirectory = file('src/main/webapp')
from 'src/rootContent' // adds a file-set to the root of the archive
}
https://docs.gradle.org/current/userguide/war_plugin.html#sec:war_customizing
我有一个 .war
,它必须有一个可以通过命令行 运行 的入口点,所以 class 的目录必须在 .war
文件.
如何将目录移动到 war 的根目录?
我试过:
plugins {
id 'war'
}
war {
manifest {
attributes(
'Main-Class': '____embedded.____EntryPoint'
)
}
}
tasks.register('moveEntryPoint') {
description 'Copies entrypoint to root dir.'
doLast {
ant.move file: "${buildDir}/classes/java/main/____embedded/",
todir: "${buildDir}/____embedded/"
}
}
compileJava.finalizedBy(moveEntryPoint)
当我尝试构建时出现此错误:
Received unknown event for /home/username/eclipse-workspace/apex/app/build/classes/java/main/____embedded
Stopping file watching and invalidating VFS after an error happened
有几种方法可以做到这一点:
然后,将您的任务附加到 processResources
。
- 告诉 war 插件包含一个目录。
war {
webAppDirectory = file('src/main/webapp')
from 'src/rootContent' // adds a file-set to the root of the archive
}
https://docs.gradle.org/current/userguide/war_plugin.html#sec:war_customizing