【发布时间】:2014-08-29 09:48:19
【问题描述】:
我使用 spring.io 指南中的 gradle 构建文件在带有 intellij 13.0.1 的 ubuntu 上选择了一个 spring-boot 项目。我的 /opt 文件夹中有一些 groovy 和 gradle 但切换到 gvm 所以我当前的 groovy 是:
joseph@do-enr-pc-2:~$ groovy --version
Groovy Version: 2.3.6 JVM: 1.8.0_20 Vendor: Oracle Corporation OS: Linux
joseph@do-enr-pc-2:~$ echo $GROOVY_HOME
/home/joseph/.gvm/groovy/current
这是一个简单的项目来测试它的外观。所有需要的文件都在pastie.org
当我使用 java 运行我的项目时,我得到以下信息:
joseph@do-enr-pc-2:/home/joseph/micro-smpp-client-java$ ./gradlew springBoot && java build/libs/micro-smpp-client-0.1.0.jar --stacktrace
Creating properties on demand (a.k.a. dynamic properties) has been deprecated and is scheduled to be removed in Gradle 2.0. Please read http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html for information on the replacement for dynamic properties.
Deprecated dynamic property: "mainClass" on "task ':springBoot'", value: "net.myproject.smpp...".
:springBoot UP-TO-DATE
BUILD SUCCESSFUL
Total time: 2.813 secs
Error: Could not find or load main class build.libs.micro-smpp-client-0.1.0.jar
但是当我用 groovy 运行它时,我有以下内容:
joseph@do-enr-pc-2:/home/joseph/micro-smpp-client-java$ ./gradlew springBoot && groovy build/libs/micro-smpp-client-0.1.0.jar --stacktrace
Creating properties on demand (a.k.a. dynamic properties) has been deprecated and is scheduled to be removed in Gradle 2.0. Please read http://gradle.org/docs/current/dsl/org.gradle.api.plugins.ExtraPropertiesExtension.html for information on the replacement for dynamic properties.
Deprecated dynamic property: "mainClass" on "task ':springBoot'", value: "net.myproject.smpp...".
:springBoot UP-TO-DATE
BUILD SUCCESSFUL
Total time: 3.934 secs
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
/home/joseph/micro-smpp-client-java/build/libs/micro-smpp-client-0.1.0.jar: 1: unexpected char: 0x5 @ line 1, column 3.
PK
^
1 error
根据我的理解,一些 .class 显然在我的 springBoot 执行生成的可能的之前已经存在,所以我将 Application.groovy 重命名为 AppStarter.groovy 但它没有任何区别。
如何解决谢谢!!
编辑应用@Dave Syer 的建议
在运行./gradlew bootRun 之后,下面是我的输出:
Deprecated dynamic property: "mainClass" on "task ':springBoot'", value: "net.myproject.smpp.client...".
:compileJava UP-TO-DATE
:compileGroovy UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:findMainClass
:bootRun FAILED
:bootRun FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':bootRun'.
> No main class specified
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
运行/gradlew build && java -jar build/libs/*.jar 后,我得到了:
Deprecated dynamic property: "mainClass" on "task ':springBoot'", value: "net.myproject.smpp.client...".
:compileJava UP-TO-DATE
:compileGroovy UP-TO-DATE
:processResources UP-TO-DATE
:classes UP-TO-DATE
:jar
:bootRepackage FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':bootRepackage'.
> Unable to find main class
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
【问题讨论】:
标签: java spring groovy intellij-idea spring-boot