Java Windows和Unix计算机之间的Maven生成结果不同
我有一个maven项目;我使用maven 3.5.0和以下选项构建它:Java Windows和Unix计算机之间的Maven生成结果不同,java,windows,maven,unix,build,Java,Windows,Maven,Unix,Build,我有一个maven项目;我使用maven 3.5.0和以下选项构建它: clean install -Dmaven.test.skip=true -X 我在三台不同的机器上执行maven build: Received [GET /auth-server/v2/api/me HTTP/1.1^M Authorization: Bearer 8631dff0-323a-4058-a55e-505dc65f5f4c^M cache-control: no-cache^M Postman-Token
clean install -Dmaven.test.skip=true -X
我在三台不同的机器上执行maven build:
Received [GET /auth-server/v2/api/me HTTP/1.1^M
Authorization: Bearer 8631dff0-323a-4058-a55e-505dc65f5f4c^M
cache-control: no-cache^M
Postman-Token: f71d256e-4036-4201-889a-36e3782c7bf2^M
User-Agent: PostmanRuntime/7.1.1^M
Accept: */*^M
Host: 192.168.100.185:1998^M
accept-encoding: gzip, deflate^M
Connection: keep-alive^M
^M
]
Received [GET /auth-server/v2/api/me HTTP/1.1^M
Authorization: Bearer 8631dff0-323a-4058-a55e-505dc65f5f4c^M
cache-control: no-cache^M
Postman-Token: f71d256e-4036-4201-889a-36e3782c7bf2^M
User-Agent: PostmanRuntime/7.1.1^M
Accept: */*^M
Host: 192.168.100.185:1998^M
accept-encoding: gzip, deflate^M
Connection: keep-alive^M
^M
]
这是在windows计算机上构建的服务器的日志:
Received [GET /auth-server/v2/api/me HTTP/1.1
Authorization: Bearer 8631dff0-323a-4058-a55e-505dc65f5f4c
cache-control: no-cache
Postman-Token: f71d256e-4036-4201-889a-36e3782c7bf2
User-Agent: PostmanRuntime/7.1.1
Accept: */*
Host: 192.168.100.185:1998
accept-encoding: gzip, deflate
Connection: keep-alive
]
如您所见,包含授权
字段的行末尾的^M
字符会更改其值;这使得头值在服务器端无效
我不希望服务器在请求行末尾添加那些^M
字符
关于java,机器之间有什么不同吗?java不是一种跨平台语言吗
如果有帮助的话,我应该提到开发是在Windows机器上完成的
在谷歌搜索之后,我发现这对我来说是没有用的 我不明白当您使用Linux时,预期的行为会失败。@JFMeier,我不希望服务器在请求行末尾添加那些
^M
字符。^M
表示\r:carries return
字符,并在那里预期。您使用了什么工具来解析http头?请参阅@TaherKhorshidi,服务器不接受^M
,身份验证失败。没有工具参与其中;来自同一客户机的请求被发送到服务器,服务器解析该请求。在windows情况下,不添加^M
字符;由于客户端和请求没有改变,服务器的功能似乎有所不同。