小编rag*_*ney的帖子

Apache Commons Exec 处理正则表达式参数时出现问题?

我正在尝试使用 Apache Commons Exec 来运行使用正则表达式的 git 命令。

当我形成CommandLine并打印出来时,它看起来像这样:

[git, --no-pager, grep, --line-number, --untracked, --extended-regexp, "^\s*public void\s+(testFindByAdAccount).*", --, *Test.java]
Run Code Online (Sandbox Code Playgroud)

但是,当我执行此操作时,git 没有返回任何结果,导致退出代码 1。

但是,当我手动运行此命令时,它会返回大量结果并成功。将参数更改--extended-regexp为字符串(如testFindByAdAccount通过 运行时)确实会产生结果Exec,因此我认为 Apache Commons 正在对 regexp 参数执行某些操作,使其无效。有什么想法吗?

编辑:添加可重现的示例

  1. 克隆https://github.com/ragurney/min-example
  2. 运行gradlew shadowJar为项目生成jar文件
  3. 运行应用程序java -jar app/build/libs/app-all.jar
  4. 请注意输出显示打印的命令失败,退出代码为 1(因为 git 命令没有返回结果)
$ java -jar app/build/libs/app-all.jar
HELLOOOOOO
WD:::  null
[git, --no-pager, grep, --line-number, --untracked, --extended-regexp, "^\s*public void\s+(testAppHasAGreeting)\(\).*", --, *Test.java]
WD:::  /Users/rgurney/Src/personal/min-example

Exception in thread "main" java.lang.RuntimeException: org.apache.commons.exec.ExecuteException: Process exited with an …
Run Code Online (Sandbox Code Playgroud)

java apache-commons-exec

4
推荐指数
1
解决办法
109
查看次数

使用/ cmd结构构建Go模块时出错

我是刚接触模块的人,并且正在将它们带入一个新项目中,我正在尝试按照此处描述的结构进行建模

这是我的目录结构的示例:

.
??? cmd
?   ??? app_name
?       ??? main.go
??? go.mod
??? go.sum
??? internal
?   ??? bot
?       ??? bot.go
??? pkg
    ??? website_name
    ?   ??? client.go
    ?   ??? client.options.go
    ?   ??? server.go
    ?   ??? server.options.go
    ??? lib
        ??? lib.go
Run Code Online (Sandbox Code Playgroud)
  1. 这是习惯上正确的吗?我知道目前还没有很多共识,但我想遵循最佳做法。
  2. 当我运行时,go build我得到“意外的模块路径“ github.com/ragurney/app_name/cmd/app_name””,但是当我运行时,go build ./...它可以工作。为什么?

当我进入main.go顶层时,一切都会按预期进行。我是否应该不将/cmd模式与模块一起使用?

go go-modules

3
推荐指数
1
解决办法
1388
查看次数

用特定的非空键值过滤地图列表的惯用 Elixir?

我是 elixir 的新手,正在尝试找出重写此 ruby​​ 方法的正确方法:

def filter_events(events)
  events.select { |event| event[:id].present? && event[:vhost].present? }
end
Run Code Online (Sandbox Code Playgroud)

在灵丹妙药。这是我到目前为止:

def filter_events(events) do
  Enum.filter(events, &(Map.has_key?(&1, :id) && Map.has_key?(&1, :vhost)))
end
Run Code Online (Sandbox Code Playgroud)

有没有更好/更惯用的方法来做到这一点?

elixir

2
推荐指数
1
解决办法
3190
查看次数

标签 统计

apache-commons-exec ×1

elixir ×1

go ×1

go-modules ×1

java ×1