CreateStartScripts

為啟動 JVM 應用程式建立啟動腳本。

範例

task createStartScripts(type: CreateStartScripts) {
  outputDir = file('build/sample')
  mainClass = 'org.gradle.test.Main'
  applicationName = 'myApp'
  classpath = files('path/to/some.jar')
}

注意:Gradle "application" 外掛程式新增了一個名為 "startScripts" 的此類型預先設定任務。

此任務產生針對 Microsoft Windows 環境和類 UNIX 環境(例如 Linux、macOS)的個別腳本。實際產生由 CreateStartScripts.getWindowsStartScriptGenerator()CreateStartScripts.getUnixStartScriptGenerator() 屬性實作,類型為 ScriptGenerator

範例

task createStartScripts(type: CreateStartScripts) {
  unixStartScriptGenerator = new CustomUnixStartScriptGenerator()
  windowsStartScriptGenerator = new CustomWindowsStartScriptGenerator()
}

class CustomUnixStartScriptGenerator implements ScriptGenerator {
  void generateScript(JavaAppStartScriptGenerationDetails details, Writer destination) {
    // implementation
  }
}

class CustomWindowsStartScriptGenerator implements ScriptGenerator {
  void generateScript(JavaAppStartScriptGenerationDetails details, Writer destination) {
    // implementation
  }
}

預設產生器類型為 TemplateBasedScriptGenerator,具有預設範本。此範本可以透過 TemplateBasedScriptGenerator.setTemplate(org.gradle.api.resources.TextResource) 方法變更。

此任務使用的預設實作使用 Groovy 的 SimpleTemplateEngine 來剖析範本,並提供以下變數

  • applicationName
  • optsEnvironmentVar
  • exitEnvironmentVar
  • mainModule
  • mainClass
  • executableDir
  • defaultJvmOpts
  • appNameSystemProperty
  • appHomeRelativePath
  • classpath

範例

task createStartScripts(type: CreateStartScripts) {
  unixStartScriptGenerator.template = resources.text.fromFile('customUnixStartScript.txt')
  windowsStartScriptGenerator.template = resources.text.fromFile('customWindowsStartScript.txt')
}

屬性

屬性描述
applicationName

應用程式的名稱。

classpath

應用程式的類別路徑。

defaultJvmOpts

應用程式的預設 JVM 選項。預設為空列表。

executableDir

將腳本寫入發布套件中的目錄。

mainClass

用於啟動 Java 應用程式的主類別名稱。

mainModule

用於啟動模組化 Java 應用程式的主模組名稱。

optsEnvironmentVar

用於提供 JVM 其他選項的環境變數。

outputDir

將腳本寫入的目錄。

unixStartScriptGenerator

類 UNIX 啟動腳本產生器。

windowsStartScriptGenerator

Windows 啟動腳本產生器。

方法

沒有方法

腳本區塊

沒有腳本區塊

屬性詳細資訊

String applicationName

應用程式的名稱。

FileCollection classpath

應用程式的類別路徑。

Iterable<String> defaultJvmOpts

應用程式的預設 JVM 選項。預設為空列表。

String executableDir

將腳本寫入發布套件中的目錄。

Property<String> mainClass

用於啟動 Java 應用程式的主類別名稱。

Property<String> mainModule

用於啟動模組化 Java 應用程式的主模組名稱。

String optsEnvironmentVar

用於提供 JVM 其他選項的環境變數。

File outputDir

將腳本寫入的目錄。

ScriptGenerator unixStartScriptGenerator

類 UNIX 啟動腳本產生器。

預設為 TemplateBasedScriptGenerator 的實作。

ScriptGenerator windowsStartScriptGenerator

Windows 啟動腳本產生器。

預設為 TemplateBasedScriptGenerator 的實作。