创建简单的测试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中更容易。它最初会让你的生活更轻松。 –