Java/Maven编译失败(未找到合适的构造函数)

Java/Maven编译失败(未找到合适的构造函数),java,maven,travis-ci,Java,Maven,Travis Ci,我遇到了一个奇怪的问题。 我在一个使用的项目上工作。 在我的本地机器(Java6和Java7测试)上,我可以轻松地mvn clean安装&mvn assembly:single无任何错误地安装项目。现在,我想让项目在构建时遇到以下错误 错误:找不到适用于ProcessBuilder的构造函数(字符串) 但是,请告诉我该构造函数。 我的travis.yml看起来像这样 语言:java jdk: -oraclejdk7 -openjdk6 -openjdk7 成功后: -mvn组件:单个 你知道为

我遇到了一个奇怪的问题。
我在一个使用的项目上工作。
在我的本地机器(Java6和Java7测试)上,我可以轻松地
mvn clean安装
&
mvn assembly:single
无任何错误地安装项目。现在,我想让项目在构建时遇到以下错误

错误:找不到适用于ProcessBuilder的构造函数(字符串)

但是,请告诉我该构造函数。
我的travis.yml看起来像这样

语言:java

jdk:
-oraclejdk7
-openjdk6
-openjdk7

成功后:
-mvn组件:单个

你知道为什么travis ci的构建失败了吗

谢谢,F481

编辑:
在本地,我正在使用Maven 3,就像travis ci一样(travis文档:“travis Java builder将使用Maven 3来构建它。”) My pom.xml:
以及第一个错误的java代码:
this.processBuilder=newprocessbuilder(“”)
全班都有

Edit2: 我为maven编译指定了源和目标版本,如下所示:

<plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.0</version>
      <configuration>
          <source>1.7</source>
          <target>1.7</target>
      </configuration>
</plugin>
<plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.0</version>
      <configuration>
          <source>1.5</source>
          <target>1.5</target>
      </configuration>
</plugin>

org.apache.maven.plugins

但我不明白这种行为的原因。。我也想为JDK 5,6构建项目。

我该怎么做?

我指定了maven编译器插件的版本以及编译的源和目标版本,如下所示:

<plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.0</version>
      <configuration>
          <source>1.7</source>
          <target>1.7</target>
      </configuration>
</plugin>
<plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <version>3.0</version>
      <configuration>
          <source>1.5</source>
          <target>1.5</target>
      </configuration>
</plugin>

org.apache.maven.plugins
maven编译器插件
3
1.5
1.5

现在构建工作开始了!非常感谢NilsH将我推向正确的方向。

可能是openjdk编译器的错误。而且它不能将字符串应用于“公共ProcessBuilder(字符串…命令)”构造函数..Hm。。如果是这样,为什么oracle jdk构建在travis ci上也失败了真奇怪。它似乎与varargs有关,因为在同一个类中还存在其他编译失败(调用
命令
方法)。我想它可以通过excplicit调用带有
String[]
的方法来解决,但它无法解决这个谜。。。其他vararg调用是否有效?首先想到的是,它一定与
javac
使用的源或目标版本有关,但我不确定这会如何发生。如果指定源和目标1.5,会出现相同的错误?奇怪。。。也许出于某种原因,它选择了错误版本的maven编译器插件。但很好,您现在可以使用它:)