例如,对Maven项目运行以下命令:
mvn dependency:list
我需要从Maven中得到的 只有 这两行(从下面的输出中切出):
com.example.code_samples.maven_dependencies:direct_library:jar:0.0.1-SNAPSHOT:compile
com.example.code_samples.maven_dependencies:indirect_library:jar:0.0.1-SNAPSHOT:compile
有没有办法(CLI--option
)在干净的行,xml,json,…中仅查看此请求的信息?
相反,输出看起来更像是非结构化日志。它没有已知的格式,并且在STDOUT中将所有类型的信息混合在一起。
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] direct_library
[INFO] dependent_binary
[INFO] indirect_library
[INFO] maven_dependencies
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building direct_library 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus:8081/nexus/content/repositories/snapshots/com/example/code_samples/maven_dependencies/indirect_library/0.0.1-SNAPSHOT/maven-metadata.xml
Downloaded: http://nexus:8081/nexus/content/repositories/snapshots/com/example/code_samples/maven_dependencies/indirect_library/0.0.1-SNAPSHOT/maven-metadata.xml (2 KB at 16.1
KB/sec)
[INFO]
[INFO] --- maven-dependency-plugin:2.8:list (default-cli) @ direct_library ---
[INFO]
[INFO] The following files have been resolved:
[INFO] junit:junit:jar:4.4:test
[INFO] com.example.code_samples.maven_dependencies:indirect_library:jar:0.0.1-SNAPSHOT:compile
[INFO]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building dependent_binary 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://nexus:8081/nexus/content/repositories/snapshots/com/example/code_samples/maven_dependencies/direct_library/0.0.1-SNAPSHOT/maven-metadata.xml
Downloaded: http://nexus:8081/nexus/content/repositories/snapshots/com/example/code_samples/maven_dependencies/direct_library/0.0.1-SNAPSHOT/maven-metadata.xml (2 KB at 86.2 K
B/sec)
[INFO]
[INFO] --- maven-dependency-plugin:2.8:list (default-cli) @ dependent_binary ---
[INFO]
[INFO] The following files have been resolved:
[INFO] com.example.code_samples.maven_dependencies:direct_library:jar:0.0.1-SNAPSHOT:compile
[INFO] com.example.code_samples.maven_dependencies:indirect_library:jar:0.0.1-SNAPSHOT:compile
[INFO]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building indirect_library 3.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:list (default-cli) @ indirect_library ---
[INFO]
[INFO] The following files have been resolved:
[INFO] none
[INFO]
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building maven_dependencies 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:list (default-cli) @ maven_dependencies ---
[INFO]
[INFO] The following files have been resolved:
[INFO] none
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] direct_library ..................................... SUCCESS [ 0.813 s]
[INFO] dependent_binary ................................... SUCCESS [ 0.026 s]
[INFO] indirect_library ................................... SUCCESS [ 0.013 s]
[INFO] maven_dependencies ................................. SUCCESS [ 0.002 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.065 s
[INFO] Finished at: 2015-03-24T12:10:01+08:00
[INFO] Final Memory: 18M/607M
[INFO] ------------------------------------------------------------------------
更新
另外,我会接受使用Maven API来获取运行时数据的解决方案Collection<String>
(而不是无法可靠解析的上述文本输出)。
我看了一下Maven Invoker API,但我没有希望-
我的测试表明这只是从代码中调用Maven的一种方式。这些API不会返回运行时数据(只是错误代码,所有有用的信息会再次打印在日志中)。
我能够提供一个属性,以将所需的干净输出保存到文件中。
例如,-DoutputFile或-Doutput:
mvn dependency:list -DoutputFile=dependencies.output.txt
mvn help:effective-pom -Doutput=effective.pom.xml
如果需要STDOUT,则为cat
文件。
即使它不是通用的,到目前为止,该解决方法仍可以为我解决所有情况。
问题内容: 我在python脚本中运行 它成功运行并停止,但结果在哪里?我想要json格式的结果,该怎么办? 就像我们使用命令一样 问题答案: 您需要手动设置和设置: 如果要将结果放入变量中,可以定义一个将项目收集到列表中的类。使用信号处理程序查看结果: 仅供参考,看看Scrapy如何解析命令行参数。
问题内容: 在Jenkinsfile Groovy脚本阶段,假设我要发出一个Linux命令来输出字符串的行和列,并想要在特定行的输出中获取第n列。这样的命令的一个示例是“ ls -al”。所以我这样做正确吗? 但是,如何获取本质上为$ {COL [4]}的值,该值是“ ls -al”命令的第五列,即目录大小? 谢谢! 问题答案: 您在示例中显示的bash脚本不会返回正确的目录大小。它将以递归方式返
我正在构建一个PHP应用程序。我需要做一个ajax调用一个PHP脚本,重新调整超文本标记语言代码。但是,我还需要接收一个变量以及PHP输出。我试图用JSON实现这一点,但是我得到了PHP输出或只是JSON数据。当我使用dataType:'json'在我的ajax调用: 我无法从PHP脚本中的“echo”获取输出: 因此,在jQueryAjax调用中,我需要接收作为PHP输出的“HelloWorld
我有一个Python脚本,它在stdout上返回一个字符串。python脚本返回的值可以收集在bash脚本中,如下所示: 在使用Groovy编写的Jenkinsfile编写脚本的管道上,我需要从Jenkinsfile调用python脚本,并将输出收集到Jenkinsfile中的变量中。 问题: 如果我的Jenkinsfile在macOS节点上运行,我该如何做到这一点。以下是我至少可以在shell变
这里的目标是使用docker容器作为安全沙箱,在中运行不受信任的python脚本,但要使用docker py模块从python内部执行此操作,并能够捕获该脚本的输出。 我正在docker容器中运行python脚本foo.py(它在docker文件中被设置为命令,因此它会在容器运行后立即执行),无法捕获该脚本的输出。当我通过普通CLI使用 (是包含foo.py的目录)我得到了打印到stdout的fo
问题内容: 我试图解析WMIC的输出,然后获取PID。 我的脚本如下: 输出如下: 我的目标是获取进程ID。 我已经尝试过将空间作为FOR循环中的delims。然而没有运气。 所以我的问题是如何格式化WMIC的列并获取列? 问题答案: WMIC使用SQL语法的子集。通过将LIKE运算符与通配符一起使用,可以在功能上将FINDSTR测试放在WMIC WHERE子句中。由于它在批处理脚本中,因此需要加