AspectJ传递主args

时间:2016-11-16 00:54:02

标签: java command-line-arguments aspectj

我试图弄清楚如何使用Ajj的ajc命令传入参数。我的命令如下:

  <xs:choice>
    <xs:element ref="ns1:div"/>
    <xs:element ref="ns1:p"/>
  </xs:choice>

基本上相同的命令用于在java中工作但我们已经(ajc -classpath ./build/:./build/lib/commons-lang3-3.4.jar -argfile $ASPECTJARGS arg1现在在arg2中盯着):

$ASPECTJARGS

然后主要功能将直接使用java -classpath ./build/:./build/lib/commons-lang3-3.4.jar arg1 arg2 arg1。现在我得到了一个

arg2
当我运行ajc命令并且想知道是否有另一种方法通过编译ajc将参数传递给main函数时出现

错误。

1 个答案:

答案 0 :(得分:0)

我不完全确定我会得到问题,但这适用于将args传递给ajc:

export ASPECTJARGS="Foo.java -1.8 -showWeaveInfo -verbose"

ajc -classpath ./build/:./build/lib/commons-lang3-3.4.jar $ASPECTJARGS

就像调用java一样。如果您想使用argf​​ile,那么您可以使用以下内容创建一个文件(例如名为thefile):

-1.8
-showWeaveInfo
Foo.java

然后运行ajc:

ajc -classpath .build/:./build/lib/commons-lang3-3.4.jar -argfile thefile

或通过简写:

ajc -classpath .build/:./build/lib/commons-lang3-3.4.jar @thefile