Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring Boot开发工具公开整个类路径_Java_Spring_Spring Boot - Fatal编程技术网

Java Spring Boot开发工具公开整个类路径

Java Spring Boot开发工具公开整个类路径,java,spring,spring-boot,Java,Spring,Spring Boot,今天,我注意到我正在开发的Spring Boot应用程序出现了一个意想不到的行为:如果我在浏览器上键入,它会愉快地下载文件 进一步检查后,我的整个类路径似乎都暴露出来了。只需发送GET请求,我就可以下载模板文件,甚至是编译的.class文件 在逐一注释项目的依赖项之后,似乎是spring boot devtools导致了问题,因为只要将其删除,应用程序就会按照预期运行 据我所知,当您打包应用程序并使用java-jar运行它时,Devtools提供的功能应该被禁用,但即使如此,问题仍然存在 我从下

今天,我注意到我正在开发的Spring Boot应用程序出现了一个意想不到的行为:如果我在浏览器上键入,它会愉快地下载文件

进一步检查后,我的整个类路径似乎都暴露出来了。只需发送GET请求,我就可以下载模板文件,甚至是编译的
.class
文件

在逐一注释项目的依赖项之后,似乎是
spring boot devtools
导致了问题,因为只要将其删除,应用程序就会按照预期运行

据我所知,当您打包应用程序并使用
java-jar
运行它时,Devtools提供的功能应该被禁用,但即使如此,问题仍然存在


我从下载了一个新的项目,除了
web
devtools
依赖项之外什么都没有,我能够重现这个问题,所以我猜这是一些预期的行为,尽管我在任何地方都找不到它的文档。或者它可能是Devtools上的一个bug。对此有何想法?

spring boot devtools
的依赖范围更改为
可选

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-devtools</artifactId>
  <scope>optional</scope>
</dependency>

org.springframework.boot
确实表明,当使用java-jar运行应用程序时,devtools将被自动禁用,但它似乎没有这样做。它进一步解释了,您可以将此依赖项作为可选项来定义范围,以防止其被传递应用。这就是诀窍

更新


这被证实是Spring Boot 1.4.3.1版本中的一个回归。有关更多详细信息,请参阅。该修复程序目前针对的是1.5.0。

我投票将这个问题作为离题题来结束,因为这不是堆栈溢出的问题,而是应该在Spring Boot中报告为问题。但问题恰恰是这是否应该报告为问题(根据punkrocker27ka的回答,是)或在Spring文档的某些模糊部分中描述的正确行为。为了让它被接受,你对如何改写它有什么建议吗?或者这肯定是离题了?