創建簡單的測試java項目只是爲了學習如何使用Ant來部署應用程序。 Java項目使用Swing創建JFrame和一個JLabel來說「Hello World」。它看起來像這樣:Ant部署。 Jar無法找到主類
package com.mytest;
import javax.swing.*;
public class home {
private static void createAndShowGUI() {
JFrame frame = new JFrame("HelloWorldSwing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("Hello World");
frame.getContentPane().add(label);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
createAndShowGUI();
}
});
}
}
然後創建build.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<project default="mytest" basedir=".">
<target name ="mytest" description="Create a jar for the Test project">
<echo message="starting MyTest jar creation..." />
<jar jarfile="mytest.jar" includes="*.class" basedir="bin">
<manifest>
<attribute name="Created-By" value="1.6.0_04 (Sun Microsystems Inc.)" />
<attribute name="Built-By" value="Me" />
<attribute name="Implementation-Version" value="1.0" />
<attribute name="Main-Class" value="com.mytest.home" />
</manifest>
</jar>
<echo message="MyTest jar created..." />
</target>
</project>
的問題是,一旦我通過Eclipse中運行的部署,將創建罐子,但我不能啓動它。我收到消息:找不到主要的類:com.mytest.home?
出了什麼問題?這似乎是簡單直接的過程。我錯過了什麼嗎?
謝謝。
我不確定Compile Task是什麼?我看過幾個幫助網站,其中一個來自Eclipse,我沒有看到任何地方提及編譯任務。我設置了項目(Properties> Builder)以在手動Build上運行部署任務。我收到消息「BUILD SUCCESSFUL」,但是我打開了jar,它是空的。我怎樣才能指定編譯任務? – bobetko
我的意思是,我明白編譯任務是什麼,但不知道如何去做。我也在一些舊項目中查看一些現有的deployment.xml。應用程序部署良好,但我無法在XML文件中找到任何編譯任務... – bobetko
請看下面的鏈接http://ant.apache.org/manual/Tasks/javac.html。您需要有一個javac任務來將java文件編譯爲臨時文件夾。那麼只有你可以把它們捆在罐子裏。如果你對ant很陌生,還有一個建議,那就是手動創建一個MANIFEST.MF文件並將其包含在jar中更容易。它最初會讓你的生活更輕鬆。 –