我遵循https://spring.io/guides/gs/spring-boot/#scratch中的说明,但是当提示运行时:
./ gradlew build && java -jar build / libs / gs-spring-boot-0.1.0.jar
构建因上述错误而失败。
失败之前会显示一条消息:
在此版本中使用了不推荐使用的Gradle功能,使其与Gradle 5.0不兼容。 参见https://docs.gradle.org/4.8.1/userguide/command_line_interface.html#sec:command_line_warnings
但是在线上的所有人都说这只是一个警告。
该版本似乎无法创建或下载build / libs / gs-spring-boot-0.1.0.jar。
当前在首次尝试使用Gradle时完全被阻止。
答案 0 :(得分:2)
我只是有这个问题。
该教程在您需要运行的内容方面是错误的。应该是
$ gradlew build && java -jar build/libs/gs-rest-service-0.1.0.jar
我认为他们更新了代码,但忘了更新教程。
答案 1 :(得分:0)
请检查jar文件build/libs/gs-spring-boot-0.1.0.jar
的路径。对于您的情况,罐子可能在其他文件夹中。如果您的代码在主项目的模块中,则jar将在模块的build文件夹中。
答案 2 :(得分:0)
如果您用git克隆了仓库,那么本教程就可以了。如果您“要从头开始,请继续使用Gradle进行构建。”,那么该教程将无法正常工作。缺少设置步骤。
答案 3 :(得分:0)
在Intellij IDEA上使用Maven构建简单项目时,我遇到了同样的问题。 (Ubuntu 18.04.2)。
只需键入终端(在项目目录中):
$ sudo mvn package
$ java -jar ./target/(your-project-name)-(<version> at pom.xml).jar
例如,我的项目名称为hello-world-spring
,而pom.xml
中的版本名称为<version>0.0.1-SNAPSHOT</version>
,我必须输入:
$ sudo mvn package
$ java -jar ./target/hello-world-spring-0.0.1-SNAPSHOT.jar
也许这种方法也可以用于gradle。
答案 4 :(得分:0)
我遇到了同样的问题,并将命令更改为java -jar target/rest-service-0.0.1-SNAPSHOT.jar
(我检查了目标文件夹中的.jar文件,发现文件名不正确)。
答案 5 :(得分:0)
我的项目的父文件夹的名称中包含空格,我将其更改为下划线,并且可以正常工作。
答案 6 :(得分:0)
查看命令行,就像官方指南中一样:
./gradlew clean build && java -jar build/libs/gs-actuator-service-0.1.0.jar
首先,以上命令行包含两个部分: (1)./gradlew clean build //使用gradle包装器进行构建 (2)java -jar build / libs / gs-actuator-service-0.1.0.jar //运行打包为JAR文件的应用程序
现在,一个或两个部分可能会出现问题。分离它们并一次只运行在某个事物上有助于解决问题。
(1)在我的Windows上不起作用,我改为执行以下操作,并且成功构建了该应用程序。
.\gradlew.bat clean build
现在移至(2)java -jar build / libs / gs-actuator-service-0.1.0.jar 从字面上看,这意味着“在此目录/路径下运行一个名为gs-actuator-service-0.1.0.jar的jar文件:build / libs /”对于Windows,这又转换为build \ libs \,并且存在一个可能会吸引您的更多信息:jar文件的名称可能会略有不同,具体取决于initial / setting.gradle中配置的实际命名方式:
rootProject.name = 'actuator-service'
请注意,官方指南在其示例代码中将其从“ gs-actuator-service”更改为“ actuator-service”,但尚未相应地更新本教程。但是现在您知道了jar文件名的来源,这不再重要,您可以选择根据需要重命名。
在调整了所有因素之后,以下是我的案例最终能解决的问题:
java -jar build\libs\actuator-service-0.0.1-SNAPSHOT.jar
或 java -jar C:\ MyWorkspace \ Spring \ gs-actuator-service \ initial \ build \ libs \ actuator-service-0.0.1-SNAPSHOT.jar //具有完全限定的路径
如果您好奇“ -0.0.1-SNAPSHOT”来自何处,则为: 在build.gradle
version = '0.0.1-SNAPSHOT'
同样,您可以选择根据需要进行修改。例如,如果我将其更改为0.0.2-SNAPSHOT,则应该相应地调整命令行
java -jar build\libs\actuator-service-0.0.2-SNAPSHOT.jar
参考:https://docs.oracle.com/javase/tutorial/deployment/jar/basicsindex.html
答案 7 :(得分:0)
因为您正在尝试执行不存在的.jar文件。构建项目后,转到./build/libs并检查新构建的.jar文件的名称,然后在项目目录中运行:
./gradlew build && java -jar build/libs/name-of-your-jar-file.jar
或者您可以在build.gradle文件中将version属性设置为空字符串
version = ''
之后:
./gradlew build && java -jar build/libs/your-project-name.jar
答案 8 :(得分:0)
对于 Windows,这些命令解决了问题:“错误:无法访问 jarfile springboot.jar”:
cd target
java -jar springboot-0.0.1-SNAPSHOT.jar