小编ANP*_*ANP的帖子

使用带有 tomcat 版本 9.0.31 的 spring boot 的分段文件上传失败

spring boot 应用程序中的多部分文件上传不适用于 tomcat 版本 9.0.31。但是这个功能在旧版本 9.0.30 上工作正常。但是这个版本有一个漏洞,被迫升级版本。请参阅下面给出的错误

 "timestamp": "2020-03-09T08:01:56.169+0000",
"status": 500,
"error": "Internal Server Error",
"message": "Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.impl.IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly",
Run Code Online (Sandbox Code Playgroud)

错误日志如下

nested exception is org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.impl.IOFileUploadException: Processing of multipart/form-data request failed. Stream ended unexpectedly] with root causeorg.apache.tomcat.util.http.fileupload.MultipartStream$MalformedStreamException: Stream ended unexpectedly
Run Code Online (Sandbox Code Playgroud)

请帮助解决这个问题。

java tomcat multipart spring-boot

7
推荐指数
2
解决办法
7290
查看次数

Docker 使用 -e 运行不起作用。无法在运行命令中传递 spring.profiles.active

我的 docker 文件面临一个问题。图像构建成功,但在运行时出现错误,因为我在运行命令中设置的活动配置文件没有反映。

# Get java
FROM openjdk:8-jdk-alpine


VOLUME /tmp
ARG JAR
COPY ${JAR} app.jar

EXPOSE 8080
ENV severn_js_key=1234qasw

ENTRYPOINT ["java", "-jar", "app.jar"]
Run Code Online (Sandbox Code Playgroud)

我的运行命令是这样的

sudo docker run -e SPRING_PROFILES_ACTIVE=dev  -p 8088:80  -t tws-apps/service:1.0.0-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)

执行此语句时,我在服务器日志中收到空指针异常

String environment = System.getProperty("spring.profiles.active");
switch (environment) {
Run Code Online (Sandbox Code Playgroud)

请帮忙

docker spring-boot spring-boot-docker-plugin

5
推荐指数
1
解决办法
3686
查看次数

可以在不知道 jar 文件名的情况下运行 jar 文件

任何人都可以告诉如何使用 java -jar 命令运行 jar 文件而不知道 Jar 的全名,我知道前缀,但 jar 文件的版本是动态的,所以我不想为每个部署更新我的 sh

 #!/bin/bash

PROJECT_HOME=/opt/services/testing-batchp
PROJECT_JAR=batch-1.0.8-SNAPSHOT.jar
[ -f /etc/environment ] && . /etc/environment

nohup java -jar -Dspring.config.location=${PROJECT_HOME}/config/ ${PROJECT_HOME}/${PROJECT_JAR} $1 $2 >/dev/null 2>&1 &
Run Code Online (Sandbox Code Playgroud)

我刚刚修改了变量 PROJECT_JAR="batch*.*-SNAPSHOT.jar" 但它不起作用。这里 jar 的版本在每次部署中都会改变。请帮忙

java spring sh

4
推荐指数
1
解决办法
976
查看次数

状态码404或400?

当资源内部的对象不可用时,应该返回什么状态码?例如

{

"Id":0,
"name":"user1",
"scheme":{
"id":15,
"name":"scheme1"}

}
Run Code Online (Sandbox Code Playgroud)

如果ID为15的方案不存在,响应代码应该是什么?400或404?

rest

2
推荐指数
1
解决办法
1830
查看次数