我在我的Java项目中使用了phantomjs-maven-plugin。 我试图用我的pom.xml将命令行选项传递给phantomjs 类似的东西(在插件docs中描述:
<plugin>
<groupId>com.github.klieber</groupId>
<artifactId>phantomjs-maven-plugin</artifactId>
<version>0.7</version>
<executions>
<execution>
<phase>integration-test</phase>
<goals>
<goal>install</goal>
<goal>exec</goal>
</goals>
</execution>
</executions>
<configuration>
<version>2.1.1</version>
<checkSystemPath>true</checkSystemPath>
<commandLineOptions>--ssl-protocol=any --ignore-ssl-errors</commandLineOptions>
<script>assets/test.js</script>
<arguments>
<argument>${liberty.https.server.port}</argument>
</arguments>
</configuration>
</plugin>
一般来说,我试图做的是这样的事情:
phantomjs --ssl-protocol=any --ignore-ssl-errors test.js
但现在没有运气,经过数小时的搜索。
当我设法运行我的maven任务时,我收到以下错误:
[INFO] Executing phantomjs command
Invalid values for 'ssl-protocol' option.
我想这个命令行选项存在一些语法问题。
感谢您的帮助!
答案 0 :(得分:0)
最后我通过配置找到了我在这里做错了什么。
只需要将<commandLineOptions>
移动到<execution>
区域内的配置部分。
它最终会看起来:
<execution>
<phase>integration-test</phase>
<goals>
<goal>install</goal>
<goal>exec</goal>
</goals>
<configuration>
<commandLineOptions>--ssl-protocol=any --ignore-ssl-errors=true</commandLineOptions>
</configuration>
</execution>
我从下面的主要配置部分删除了它。
我设法弄清楚我之前做的是将命令行参数传递给我的test.js脚本的执行以及phantom.js的执行。
我希望它会像我一样为一些失去的人服务:)。