美好的一天,团队。 我有简单的gradle项目与java" HelloWorld"上课到PoC。
public class HelloWorld {
public static void main (String[] args){
String hello = "Hello, world";
System.out.print(hello);
}}
我为这个类生成了可运行的Jar文件。 现在我想做下一步:在gradle中生成Jar文件时,我需要将" Hello,world" 更改为" Hello Hello world" 。我知道这是可能的,但我无法在网上找到这些信息。 提前致谢。 目前的gradle代码如下:
apply plugin: 'java'
apply plugin: 'application'
sourceCompatibility = 1.5
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.11'
}
task createJar(type: Jar){
mainClassName = 'HelloWorld'
manifest {attributes 'Implementation-Title': 'Gradle Jar File Example','Main-Class': mainClassName}
baseName = 'HelloWorldJar'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
答案 0 :(得分:0)
嗯,我自己做了。可能不是最聪明的解决方案,但仍在工作:)并且感谢谁试图帮助我。
更新以下代码
task copyJavaClass(type: Copy) {
from 'src/main/java'
into 'src/main/java'
include 'HelloWorld.java'
filter { line -> !line.contains('String hello = "Hello, world";') ? line : 'String hello = "Hello another world";' }
filter { line -> !line.contains('public class HelloWorld {') ? line : 'public class HelloAnotherWorld {' }
rename { filename ->filename.replace 'HelloWorld', 'HelloAnotherWorld'
}
}
task createJar(type: Jar){
mainClassName = 'HelloAnotherWorld'
manifest {attributes 'Implementation-Title': 'Gradle Jar File Example','Main-Class': mainClassName}
baseName = 'HelloAnotherWorldJar'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
第一个任务用类名改变整行,用String换行,第二个为新类创建可运行的Jar文件。
仅在终端中运行gradlew copyJavaClass createJar
任务。