我需要设置一个http标头" Content-Type:application / json"使用旅行车上传我的测试数据时:上传。我按照Advanced Configuration of the HttpClient HTTP Wagon
中的描述设置服务器这是我在pom.xml中的旅行车配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>wagon-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<serverId>wagon-upload-test-data</serverId>
<url>http://localhost:8000/</url>
<fromDir>${project.basedir}/src/test/resources/testdata/</fromDir>
</configuration>
<executions>
<execution>
<id>upload-test-resources</id>
<phase>generate-test-resources</phase>
<goals>
<goal>upload</goal>
</goals>
</execution>
</executions>
</plugin>
这是服务器的maven设置配置:
<settings>
...
<servers>
<server>
<id>wagon-upload-test-data</id>
<configuration>
<!-- also tried with and without global configuration -->
<httpHeaders>
<httpHeader>
<name>Content-Type</name>
<value>application/json</value>
</httpHeader>
</httpHeaders>
<httpConfiguration>
<all> <!-- also tried with put -->
<useDefaultHeaders>false</useDefaultHeaders> <!-- tried with true -->
<headers>
<header>
<name>Content-Type</name>
<value>application/json</value>
</header>
<header>
<name>Accept</name>
<value>*/*</value>
</header>
</headers>
</all>
</httpConfiguration>
</configuration>
</server>
</servers>
</settings>
当我调用插件时,它执行正常,我的测试数据被放在服务器上,但服务器设置似乎被忽略 - 这是我总是开始的HTTP PUT请求我的测试服务器:
cache-control: no-cache
cache-store: no-store
pragma: no-cache
expires: 0
accept-encoding: gzip
content-length: 132
host: localhost:8000
connection: Keep-Alive
user-agent: Apache-HttpClient/4.3.5 (java 1.5)
x-php-ob-level: 0
{
"users": [{
"username" : "dummyMachine",
"score" : 3456
}, {
"username" : "dumminister",
"score" : 4125
}]
}
为了确保使用了正确的maven设置文件,我还运行了wagon:使用-X标签上传,这里有一些日志:
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T18:41:47+02:00)
Maven home: /usr/local/Cellar/maven/3.3.9/libexec
Java version: 1.8.0_92, vendor: Oracle Corporation
...
Reading global settings from /usr/local/Cellar/maven/3.3.9/libexec/conf/settings.xml
[DEBUG] Reading user settings from /Users/martindobrev/.m2/settings.xml
---> COMMENT: THE SETTINGS FILE USED IS THE CORRECT ONE !!!
...
...
[DEBUG] Goal: org.codehaus.mojo:wagon-maven-plugin:1.0:upload (default-cli)
[DEBUG] Style: Regular
[DEBUG] Configuration: <?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<excludes>${wagon.excludes}</excludes>
<followSymLink default-value="false">${wagon.followSymLink}</followSymLink>
<fromDir default-value="${project.basedir}">/PATH_TO_M/src/test/resources/testdata/</fromDir>
<includes>${wagon.includes}</includes>
<optimize default-value="false">${wagon.optimize}</optimize>
<project default-value="${project}"/>
<serverId default-value="serverId">wagon-upload-test-data</serverId>
<settings default-value="${settings}"/>
<skip default-value="false">${wagon.skip}</skip>
<toDir default-value="">${wagon.toDir}</toDir>
<url>http://localhost:8000/</url>
<useDefaultExcludes default-value="true">${wagon.useDefaultExcludes}</useDefaultExcludes>
</configuration>
我做错了什么?有人可以帮我解决这个问题!!!
附加信息:13.10.2016
我尝试了不同版本的maven和wagon-upload - 似乎没什么用。这是一个simple project on github来测试问题