当前位置: 代码迷 >> Java相关 >> 关于执行jar 调用ant生成另一个jar文件的问题
  详细解决方案

关于执行jar 调用ant生成另一个jar文件的问题

热度:110   发布时间:2008-09-01 19:18:53.0
关于执行jar 调用ant生成另一个jar文件的问题
我有一个build.xml
<project name="Swing" default="jar" basedir=".">
<property name="src" value = "." />
<property name="source" value="common" />
<property name="jarpath" value="D:\workspace" />
<target name="jar">
<jar jarfile="${jarpath}/test.jar"
    basedir="${source}"
manifest="MANIFEST.MF"
includes="**">
<fileset dir="${src}"/>
</jar>
</target>
</project>

在有一个MAINFEST.MF
Main-Class: com.Test

然后我在Test2.class
  public class Test2 {
public static void main(String[] args){
URL  u = ClassLoader.getSystemResource("com/build.xml");
File buildFile = new File(u.getPath());
Project p = new Project();
p.init();
ProjectHelper helper = ProjectHelper.getProjectHelper();
helper.parse(p, buildFile);
p.executeTarget(p.getDefaultTarget());

}
}

目录结构是
&brvbar;-com
&brvbar;  &brvbar;-build.xml
&brvbar;  &brvbar;-Test2.class
&brvbar;  &brvbar;-MAINFEST.MF
com下面还有一个包common 他放了一可以执行的swing程序Test.class  所有整的目录结构是
&brvbar;-com
&brvbar;  &brvbar;-build.xml
&brvbar;  &brvbar;-Test2.class
&brvbar;  &brvbar;-MAINFEST.MF
&brvbar;  &brvbar;-common
&brvbar;  &brvbar;  &brvbar;-Test.class
在com的上级目录中 我也创建了一个MAINFEST.MF 内容是
Main-Class: com.Test2

用java命令创建jar
-->jar cfm com.jar MANIFEST.MF com
生产com.jar成功了 双击 但是却无法生产test.jar 具体点就是没反应  执行Test2.class的需要的ant的jar包
ant.jar,xml-apis.jar,xercesImpl.jar,ant-launcher.jar;4个jar包也已经加到了环境变量classpath中
JDK是1.6 但是还是无法执行


现在基本问题都已经解决 但是
URL  u = ClassLoader.getSystemResource("com/build.xml");
File buildFile = new File(u.getPath());
  这个得不到文件的引用 就是在jar文件里面的Test2.class得不到jar包里面build.xml文件的引用
  路径能得到 就是XX/xx.jar!/com/build.xml 能得到这样的路径 路径是对的 但是得不到文件的引用
请教如何解决
搜索更多相关的解决方案: jar  ant  文件  

----------------解决方案--------------------------------------------------------
海,我能够水你的帖么?
----------------解决方案--------------------------------------------------------
  相关解决方案