2011-05-10 96 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 

...目錄?