如何通过ant脚本找到包含特定类的jar的名称?
发布于 2011-02-17 16:59:48
我们使用以下Ant代码来查找包含我们的主类的jar。它需要Ant 1.8+。
<whichresource class="${main.class}" property="main.class.url">
<classpath>
<fileset dir="${jar.dir}" includes="*.jar" />
</classpath>
</whichresource>
<pathconvert property="jar.file">
<url url="${main.class.url}" />
<regexpmapper from="jar:file:/(.*)!.*" to="\1" />
</pathconvert>
<echo>Jar file containing main class: ${jar.file}</echo>
我希望这能回答你的问题。
马腾
发布于 2011-01-20 20:32:55
试试jarscan。这是一个命令行java工具,如果你也想通过ant集成它,应该很容易。
发布于 2011-01-20 22:41:13
我认为使用1行(ok,5行)的C-shell脚本可以更好地解决这个问题。假设您试图在某个目录中查找包含某个特定文件的jar文件列表。在csh提示符下尝试执行以下操作:
% cd directory_where_your_jar_files_reside
% set f2Search = filename_you_are_looking_for
% foreach jarFile (*.jar)
? (jar tvf $jarFile | grep $f2Search > /dev/null) || echo $jarFile
? end
如果需要,您显然可以将输出连接到其他文件。这是一个Unix解决方案,不知道如何在Windows上做到这一点,对不起。很抱歉没有回答Ant的问题,但其他人已经回答了。希望这能帮上忙,-多发性硬化症
https://stackoverflow.com/questions/4751961
复制相似问题