首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法通过ANT运行phploc

无法通过ANT运行phploc
EN

Stack Overflow用户
提问于 2014-08-30 09:44:40
回答 1查看 2.3K关注 0票数 0

我看过这两篇文章..。他们帮不上忙:

如果我在shell提示符下运行phploc,它就能正常工作。所以一定是我的build.xml文件.但我不知道是什么。

代码语言:javascript
复制
<target name="phploc" description="Measure project size using PHPLOC">
  <exec executable="phploc">
    <arg path="${basedir}/../src" />
    <arg value="--log-csv" />  
    <arg value="${basedir}/build/logs/phploc.csv" />    
  </exec>
</target>

这样做很好:

代码语言:javascript
复制
C:\projects\project1\build>phploc ../src
phploc 2.0.6 by Sebastian Bergmann.

我的文件夹结构是

代码语言:javascript
复制
c:\projects\project1

      build
          ...
          vendor
             bin
             ...
      src
      tests

c:\projects\project1\build>ant phploc:

代码语言:javascript
复制
BUILD FAILED
C:\projects\project1\build\build.xml:55: Execute failed: java.io.IOException:
 Cannot run program "phploc": CreateProcess error=2, The system cannot find the
file specified
        at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
        at java.lang.Runtime.exec(Runtime.java:620)
        at org.apache.tools.ant.taskdefs.launcher.Java13CommandLauncher.exec(Jav

更新

代码语言:javascript
复制
C:\>where phploc
INFO: Could not find files for the given pattern(s).

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-30 12:45:20

从聊天的讨论来看,这是一个与路径相关的问题。我就是这么想的。

phploc中设置<exec executable="phploc">的绝对路径就成功了。它在C:\projects\project 1\build目录中的命令行上工作,因为phploc位于它的一个子目录(供应商\bin)中,并且这个子目录已经在PATH变量中。

代码语言:javascript
复制
PATH=C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Calibre2\;C:\xampp\php;C:\ProgramData\ComposerSetup\bin;C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\;C:\Program Files (x86)\Java;c:\ant\bin;.\vendor\bin

注意:虽然提供绝对路径在这里有效,但是使用相对路径是一个很好的实践,这样您的项目是可移植的。在这种情况下,您可以使用basedir作为所有相关路径的参考点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25581046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档