enf*_*any 7 java gwt gradle spring-boot
我的应用程序是一个 springboot gradle 应用程序。我的应用程序的一部分涉及使用 gradle 进行旧版 gwt 编译。它工作正常,但今天当我运行下面的 gradle 任务时,它显示 CreateProcess error=206,文件名或扩展名太长。可能出了什么问题?因为它以前有效。是否建议更改以下代码以解决此问题?
task compileGwt(dependsOn: classes, type: JavaExec) {
//ext.buildDir = "${project.buildDir}/resources/main/static"
ext.buildDir = "${project.rootDir}/src/main/webapp"
//ext.buildDir = "${project.buildDir}"
ext.extraDir = "${project.buildDir}/extra"
ext.generatedDir = "${project.buildDir}/generated"
inputs.source sourceSets.main.java.srcDirs
inputs.dir sourceSets.main.output.resourcesDir
outputs.dir buildDir
// Workaround for incremental build (GRADLE-1483)
outputs.upToDateSpec = new org.gradle.api.specs.AndSpec()
doFirst {
file(buildDir).mkdirs()
//classpath.each { println it.name}
}
main = 'com.google.gwt.dev.Compiler'
classpath {
[
sourceSets.main.java.srcDirs, // Java source
sourceSets.main.output.resourcesDir, // Generated resources
sourceSets.main.output.classesDir, // Generated classes
sourceSets.main.compileClasspath, // Deps
]
}
args =
[
'com.company.application.UI', // Your GWT module
'-war', buildDir,
'-logLevel', 'INFO',
'-style', 'DETAILED',
'-localWorkers', '2',
'-compileReport',
'-gen', generatedDir,
'-extra', extraDir,
'-draftCompile' // Speeds up compile with 25%
]
maxHeapSize = '1024M'
}
war.dependsOn compileGwt
war {
from compileGwt.buildDir
}
Run Code Online (Sandbox Code Playgroud)
下面是使用 pathingJar 更新的 build.gradle,当我运行 compileGwt 时,它给出错误提示:Could not find or load main class com.google.gwt.dev.Compiler
apply plugin: "build-app"
apply plugin: 'war'
apply plugin: 'java'
dependencies {
compile("javax.validation:validation-api:1.1.0.Final")
compile("javax.validation:validation-api:1.1.0.Final:sources")
compile("net.sourceforge.javacsv:javacsv:2.0")
compile("org.springframework.boot:spring-boot-starter-security")
compile("org.springframework.security:spring-security-ldap")
compile("org.apache.directory.server:apacheds-server-jndi:1.5.5")
compile("org.springframework:spring-web")
compile("com.fasterxml.jackson.core:jackson-databind")
compile("javax.servlet:javax.servlet-api:3.1.0")
compile("com.google.gwt:gwt-user:2.5.1")
compile("com.google.gwt:gwt-servlet:2.5.1")
compile("com.google.gwt:gwt-dev:2.5.1")
compile("com.google.gwt.inject:gin:1.5.0")
compile("com.googlecode.mvp4g:mvp4g:1.4.0")
compile("com.googlecode.mvp4g:mvp4g:1.4.0:sources")
compile("com.sencha.gxt:gxt:3.0.1")
compile("com.sencha.gxt:gxt:3.0.1:sources")
compile("org.atmosphere:atmosphere-gwt-client:1.1.0.RC5")
compile("org.atmosphere:atmosphere-gwt-server:1.1.0.RC5")
compile("com.fasterxml.jackson.datatype:jackson-datatype-hibernate4:2.1.2")
compile("org.bouncycastle:bcpg-jdk16:1.46")
compile("org.jsoup:jsoup:1.7.2")
compile("org.eclipse.jetty:jetty-continuation:9.3.5.v20151012")
compile("org.springframework.boot:spring-boot-starter-aop")
compile("com.googlecode.lambdaj:lambdaj:2.3.3")
compile("org.apache.poi:poi:3.9")
compile("org.apache.poi:poi-ooxml:3.9")
compile("commons-fileupload:commons-fileupload:1.3.1")
compile("org.springframework.security:spring-security-core:4.0.3.RELEASE")
compile("com.google.guava:guava:18.0")
compile("com.google.guava:guava-gwt:18.0")
compile("org.springframework.integration:spring-integration-core:4.2.4.RELEASE")
compile("org.samba.jcifs:jcifs:1.3.3")
compile("org.springframework.integration:spring-integration-file:4.2.4.RELEASE")
compile("org.springframework.integration:spring-integration-ftp:4.2.4.RELEASE")
compile("org.springframework.integration:spring-integration-sftp:4.2.4.RELEASE")
compile("org.springframework.integration:spring-integration-flow:1.0.0.RELEASE")
compile("org.springframework.integration:spring-integration-java-dsl:1.1.0.M1")
compile("org.atmosphere:wasync:2.1.2")
compile libs.quartz
compile libs.spring_jms
compile libs.spring_jpa
compile libs.jdbc_sybase
runtime files("src/dist/conf")
runtime files("src/dist/env/local")
configurations {
all*.exclude group: '', module: 'servlet-api'
}
}
task createDirs << {
sourceSets*.java.srcDirs*.each { it.mkdirs() }
sourceSets*.resources.srcDirs*.each { it.mkdirs() }
webAppDir.mkdirs()
}
task initProject << {
File oldSource = file("./src")
File tmpSource = file("./tmp")
tmpSource.mkdirs()
oldSource.listFiles().each { File f -> f.renameTo new File(tmpSource, f.name) }
sourceSets*.java.srcDirs*.each { it.mkdirs() }
sourceSets*.resources.srcDirs*.each { it.mkdirs() }
webAppDir.mkdirs()
File newSource = file(sourceSets.main.java.srcDirs.iterator().next())
tmpSource.listFiles().each { File f -> f.renameTo new File(newSource, f.name) }
tmpSource.delete()
}
task pathingJar(type: Jar) {
dependsOn configurations.runtime
appendix = 'pathing'
doFirst {
from "${project.buildDir}/classes"
manifest {
attributes "Class-Path": configurations.compile.files.join(" ")
}
}
}
task compileGwt(dependsOn: pathingJar, type: JavaExec) {
//ext.buildDir = "${project.buildDir}/resources/main/static"
ext.buildDir = "${project.rootDir}/src/main/webapp"
//ext.buildDir = "${project.buildDir}"
ext.extraDir = "${project.buildDir}/extra"
ext.generatedDir = "${project.buildDir}/generated"
inputs.source sourceSets.main.java.srcDirs
inputs.dir sourceSets.main.output.resourcesDir
outputs.dir buildDir
// Workaround for incremental build (GRADLE-1483)
outputs.upToDateSpec = new org.gradle.api.specs.AndSpec()
doFirst {
file(buildDir).mkdirs()
//classpath.each { println it.name}
}
main = 'com.google.gwt.dev.Compiler'
classpath {
[
pathingJar.archivePath,
sourceSets.main.java.srcDirs, // Java source
sourceSets.main.output.resourcesDir, // Generated resources
sourceSets.main.output.classesDir, // Generated classes
//sourceSets.main.compileClasspath, // Deps
]
}
args =
[
'com.company.application.UI', // Your GWT module
'-war', buildDir,
'-logLevel', 'INFO',
'-localWorkers', '2',
'-compileReport',
'-extra', extraDir,
// '-draftCompile' // Speeds up compile with 25%
]
maxHeapSize = '1024M'
}
war.dependsOn compileGwt
war {
from compileGwt.buildDir
}
Run Code Online (Sandbox Code Playgroud)
我用这个 gradle 插件修复了一个类似的问题:https : //github.com/viswaramamoorthy/gradle-util-plugins
buildscript {
dependencies {
classpath "com.github.viswaramamoorthy:gradle-util-plugins:0.1.0-RELEASE"
}
}
...
apply plugin: 'ManifestClasspath'
Run Code Online (Sandbox Code Playgroud)
请参阅https://github.com/steffenschaefer/gwt-gradle-plugin/commit/087a94377fbd83cab938ffffe51ce8fab871be35,它对具有相同问题的 gwt-gradle-plugin 应用了修复。
您应该能够执行类似以下操作,而不是设置类路径
if (System.getProperty("os.name").toLowerCase().contains("windows")) {
javaExecSpec.environment("CLASSPATH", classpath.getAsPath());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8020 次 |
| 最近记录: |