我有一个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());
 
}
 }目录结构是
|-com
|  |-build.xml
|  |-Test2.class
|  |-MAINFEST.MF
com下面还有一个包common 他放了一可以执行的swing程序Test.class  所有整的目录结构是
|-com
|  |-build.xml
|  |-Test2.class
|  |-MAINFEST.MF
|  |-common
|  |   |-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 但是还是无法执行

解决方案 »

  1.   

    我的意思是生产com.jar文件成功 双击没反应 
      

  2.   

    做下文件关联,把.jar关联到java.exe
      

  3.   

    在基本问题都已经解决 
      但是 
    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 能得到这样的路径 路径是对的 但是得不到文件的引用 
    请教如何解决