Как превратить Gradle + Google Sheets API + Java в одну загружаемую программу? - PullRequest
0 голосов
/ 10 мая 2018

На данный момент я создал приложение чата, объединив Java и Google Sheets с помощью API Google, что требует от меня использования Gradle. До сих пор я смог запустить программу только через Gradle, используя терминал.

В своем конечном результате я хочу иметь возможность отправить эту программу кому-то, и они должны иметь возможность установить ее или запустить как можно проще, без необходимости запускать ее через терминал.

Я подозреваю, что человеку может понадобиться загрузить Gradle для запуска файла, поскольку он необходим для API Google. Поэтому я думаю, что лучший способ сделать это - отправить zip-файл (или что-то еще) с помощью Gradle Installer и java-файла и каким-то образом заставить его установить все автоматически. Это возможно?

Вот так выглядит мой файл build.gradle

apply plugin: 'java'
apply plugin: 'application'

mainClassName = 'SheetsQuickstart'
sourceCompatibility = 1.7
targetCompatibility = 1.7
version = '1.0'

buildscript {
      repositories {
          jcenter()
      }
      dependencies {
          classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.1'
      }
}

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.google.api-client:google-api-client:1.23.0'
    compile 'com.google.oauth-client:google-oauth-client-jetty:1.23.0'
    compile 'com.google.apis:google-api-services-sheets:v4-rev516-1.23.0'
    compile(group: 'org.springframework', name: 'spring-core', version:'4.3.11.RELEASE') 
}

jar {
    doFirst {
        manifest {
            if (!configurations.compile.isEmpty()) {
                attributes(
                        'Class-Path':configurations.compile.collect{it.toURI().toString()}.join(' '),
                        'Main-Class': 'SheetsQuickstart')
            }
        }
    }
}

1 Ответ

0 голосов
/ 10 мая 2018

Предполагая, что API google sheet является зависимостью в gradle, разве вы не можете просто создать файл jar с помощью gradle build, а затем запустить jar как исполняемый файл?

пример файла build.gradle:

  version '1.0-SNAPSHOT'
  apply plugin: 'java'
  apply plugin: 'application'
  apply plugin: 'com.github.johnrengelman.shadow'

  group = 'your.package.path.here'
  version = '0.0.1-SNAPSHOT'

  mainClassName = 'your.package.path.here.MainClassName'

  buildscript {
      repositories {
          jcenter()
      }
      dependencies {
          classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.1'
      }
  }


  dependencies {
      compile(group: 'org.springframework', name: 'spring-core', version:'4.3.11.RELEASE') 
  }

  repositories {
      mavenCentral()
 }

 jar {
 doFirst {
    manifest {
        if (!configurations.compile.isEmpty()) {
            attributes(
                    'Class-Path':configurations.compile.collect{it.toURI().toString()}.join(' '),
                    'Main-Class': 'your.package.path.here.MainClassName')

        }
    }
}

Должно быть достаточно для файла сборки reg min, затем добавьте свои зависимости.

...