当前位置: 首页 > 知识库问答 >
问题:

Gradle:如何使用one-jar输出作为launch4j的输入

曾珂
2023-03-14
apply plugin: 'java'
apply plugin: 'launch4j'
apply plugin: 'gradle-one-jar'

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'edu.sc.seis.gradle:launch4j:1.0.6'
        classpath 'com.github.rholder:gradle-one-jar:1.0.4'
    }
}

launch4j {
    mainClassName = "de.my.umkopierer.Umkopierer"
    launch4jCmd = "C:/Program Files (x86)/Launch4j/launch4j"
    jar = "lib/Umkopierer-1.0.jar"
    headerType = "console"
    dontWrapJar = false
}

sourceCompatibility = 1.7
version = '1.0'

jar {
    manifest {
        attributes 'Implementation-Title': 'Umkopierer', 'Implementation-Version': version
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    compile 'com.google.guava:guava:18.0'    
    compile 'com.fasterxml.jackson.core:jackson-core:2.4.4'
    compile 'com.fasterxml.jackson.datatype:jackson-datatype-jdk7:2.4.4'
    compile 'com.fasterxml.jackson.core:jackson-databind:2.4.4'


    testCompile group: 'junit', name: 'junit', version: '4.+'
}

task oneJar(type: OneJar) {
    mainClass = "de.stiffi.umkopierer.Umkopierer"
}

共有1个答案

常献
2023-03-14

我通过使launch4j任务“create exe”依赖于onejar/fatjar(或任何其他fat jar创建方法)来解决这个问题。例如:

tasks.createExe.dependsOn('oneJar')     


task launch4j(overwrite: true, dependsOn: ['createExe']){
}

另外,我认为您的gradle构建文件应该包含一个主类属性,如

manifest {
    attributes 'Main-Class':'com.example.MyMainClass'
}

(至少在使用fatjar gradle插件时是这样)。

 类似资料:
  • 我有Android和Windows 7设置,并且我的音频插座在Windows 7机器上不起作用,我想用我的Android替代我的音频插座,使我能够使用蓝牙或USB连接连接耳机或扬声器等外部音频设备。这可能吗?我看过一些关于将手机用作麦克风(输入)的文章,但到目前为止还没有关于将其用作输入/输出的文章。

  • 我有以下简单的构建。gradle文件: 下面的单个java文件位于: 但是,如果我运行,我会在目录中得到一个jar,它没有主类集。它的清单文件没有条目。为什么会这样?

  • 我有一个gradle构建脚本,它检索了一些常见的依赖项,并将它们组合起来创建了一个“胖罐子”。

  • 我正在尝试将输入验证添加到一组三个 ,用户在其中输入数值。我面临的问题是,为了使计算正常工作,用户无法输入零作为输入字段之一,否则应用程序将崩溃。 我尝试实现以下操作以防止输入零并显示警告消息。我收到一条错误消息,指出“无法启动活动calcResult”,这是显示计算的活动。 这是错误日志的链接:http://pastebin.com/hDsabjR6 我从这里了解到,零值仍然在通过验证,但我不知

  • 我已经读到,主题建模(从文本中提取可能的主题)最常用的技术是潜在的Dirichlet分配(LDA)。但最近我了解到另一款lda2vec。然而,我感兴趣的是尝试Word2Vec输出作为LDA的输入是否是一个好主意。 你认为为了一些研究而采用这种方法有意义吗?因为我正在做主题建模,所以需要一些新颖的方法。

  • 问题内容: 我想在Linux操作系统上的C程序内执行以下操作: 使用syscall(或2)创建PIPE 使用exec()执行新流程 将流程的STDIN连接到先前创建的管道。 将流程的输出连接到另一个PIPE。 这样做的目的是为了性能目的而避免访问任何驱动器。 我知道使用PIPE系统调用创建管道非常简单,我可以使用popen为输入或输出目的创建管道。 但是您将如何针对输入和输出执行此操作? 问题答案