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编译器插件。但很好,您现在可以使用它:)