2011-05-10 173 views
0

我actualy有2个问题JAR类路径和外部罐子

我用eclipse - >出口项目生成我简单的桌面(GUI)程序
它会产生一个jar文件,Ant脚本的JAR文件。

第一个问题: 生成的jar在双击时工作正常。
当我使用生成的ant脚本自己生成罐子
时,它不起作用。 什么可以不对这样的目标(假设满足所有相关性)

<target name="create_run_jar"> 
     <jar destfile="G:/dev/myproj/myproj.jar"> 
      <manifest> 
       <attribute name="Main-Class" value="view.myproj"/> 
       <attribute name="Class-Path" value=". myproj_lib/grouplayout.jar"/> 
      </manifest> 
      <fileset dir="G:/dev/myproj/bin"/> 
     </jar> 
     <delete dir="G:/dev/myproj/myproj_lib"/> 
     <mkdir dir="G:/dev/myproj/myproj_lib"/> 
     <copy file="G:/dev/.metadata/.plugins/org.dyno.visual.swing/layoutext/grouplayout.jar" todir="G:/dev/myproj/myproj"/> 
    </target> 

// nevemind
//问题二:
//当我双击生成的自动jar文件程序启动并正常工作。
//当我从命令行执行java myjar时我得到的主类没有找到异常..
//很奇怪吧?

+3

你需要给我们错误你的问题1。问题2,你使用的是什么确切的java命令?你在使用java -jar吗? – 2011-05-10 22:20:07

+0

该死的!我觉得很愚蠢!我忘了-jar ,但第一个问题仍然存在 自动生成的蚂蚁脚本 的自动生成的jar不响应点击。没有任何反应 – Paul 2011-05-10 22:27:07

+0

当您运行Ant脚本时,您会得到什么错误消息? – Welshboy 2011-05-10 22:33:52

回答

1

我建议你用两种方法生成JAR文件,使用jar命令将它们展开到临时目录中,然后在递归模式下使用diff来比较它们。

不过,我怀疑@Pace已经把他的手指放在了这个问题上;即您在Class-Path清单条目中使用相对路径,这可能会导致问题。

0

java -jar <jar name>是执行jar的正确方法。

0

蚂蚁目标正在创建一个具有类路径属性的清单。如果你看看这些路径,你会注意到它们是相对于当前目录的。当你从命令行执行java -jar时,你在...

G:/dev/myproj 

...目录?