如何使用类路径执行外部 jar 并使用 ant 具有 CI 参数
How to execute an external jar with classpath and also having CI argument using ant
我有一个情况,我已经有一个罐子了。我不需要使用 ant 创建另一个 jar。另外,类路径也应该添加。
所以我的主要目标是 运行 使用 ant
例子如下:
java -cp myjar.jar -DParameterA=A -DParameterB=B com.mypackagename.package.ClassName
下面我也有参考:
https://ant.apache.org/manual/Tasks/java.html
我正在使用如下命令:
ant -Dcom.test=TEST1 targetName
在 ant 的 build.xml 中,我正在尝试如下所示的操作:
<target name="readclass">
<java classname="${read-class}">
<classpath>
<pathelement location="myjar.jar"/>
</classpath>
<jvmarg value="-Xlingc"/>
<arg value="${com.test}"/>
</java>
</target>
但是使用我上面的代码我无法传递参数。
任何建议都会有帮助!!
命令行上有不同种类的参数。 class 名称之前的参数是 JVM 使用和使用的参数,您可以通过 Ant 的 java
任务中的 jvmarg
设置它们。 class 名称后的参数被发送到您的 class 并且您通过 arg
.
设置它们
jvmarg
的一个特例是系统 属性,当您使用命令行时,它是通过 -Dname=value
在 class 名称之前设置的。 Ant 为此提供 sysproperty
。
jvmarg
s 要求将任务的 fork
属性设置为 true,因为默认设置为 运行 class 在同一 JVM 中执行 Ant 和因此,对此的论据已经确定。这不适用于适用于所有 fork
设置的 sysproperty
。
如果有疑问 运行 ant -verbose
将为您提供 Ant 实际使用的命令行参数。
扩展的@Stefan Bodewig 回答..下面是对我有用的蚂蚁块
<target name="readclass">
<java classname="${read-class}" fork="true" failonerror="true">
<classpath>
<pathelement location="myjar.jar"/>
</classpath>
<sysproperty key="com.test" value="${com.test}"/>
<sysproperty key="com.country" value="${com.country}"/>
</java>
</target>
我有一个情况,我已经有一个罐子了。我不需要使用 ant 创建另一个 jar。另外,类路径也应该添加。
所以我的主要目标是 运行 使用 ant
例子如下:
java -cp myjar.jar -DParameterA=A -DParameterB=B com.mypackagename.package.ClassName
下面我也有参考:
https://ant.apache.org/manual/Tasks/java.html
我正在使用如下命令:
ant -Dcom.test=TEST1 targetName
在 ant 的 build.xml 中,我正在尝试如下所示的操作:
<target name="readclass">
<java classname="${read-class}">
<classpath>
<pathelement location="myjar.jar"/>
</classpath>
<jvmarg value="-Xlingc"/>
<arg value="${com.test}"/>
</java>
</target>
但是使用我上面的代码我无法传递参数。 任何建议都会有帮助!!
命令行上有不同种类的参数。 class 名称之前的参数是 JVM 使用和使用的参数,您可以通过 Ant 的 java
任务中的 jvmarg
设置它们。 class 名称后的参数被发送到您的 class 并且您通过 arg
.
jvmarg
的一个特例是系统 属性,当您使用命令行时,它是通过 -Dname=value
在 class 名称之前设置的。 Ant 为此提供 sysproperty
。
jvmarg
s 要求将任务的 fork
属性设置为 true,因为默认设置为 运行 class 在同一 JVM 中执行 Ant 和因此,对此的论据已经确定。这不适用于适用于所有 fork
设置的 sysproperty
。
如果有疑问 运行 ant -verbose
将为您提供 Ant 实际使用的命令行参数。
扩展的@Stefan Bodewig 回答..下面是对我有用的蚂蚁块
<target name="readclass">
<java classname="${read-class}" fork="true" failonerror="true">
<classpath>
<pathelement location="myjar.jar"/>
</classpath>
<sysproperty key="com.test" value="${com.test}"/>
<sysproperty key="com.country" value="${com.country}"/>
</java>
</target>