您的位置:首页 > 其它

打包jar文件步骤

2009-08-03 07:59 176 查看
  打包成jar文件
     
     
        
           编译Login.java为Login.class(当然假设你事先已经设置好了JDK的环境变量PATH和CLASSPATH)      
 在命令行执行编译命令:      
 javac Login.java      
    
用文本编辑器(比如记事本/UltraEdit等 )编写如下manifest文件,并保存为manifest.mf       
    
 Manifest-Version: 1.0      
 Main-Class:  Login      
    
 【注意】文件manifest.mf内必须是3行文本:      
 第一行的内容依次是:“Manifest”、英文减号、“Version”、英文冒号、英文空格、数字“1”、英文句号、数字“0”      
 第二行的英文冒号与Login之间必须要有一个英文空格!!!      
 第三行是一个空行,也就是说,你要在Login之后键入一个回车,然后才可以存盘退出!!!      
 如果冒号后面没有空格,可以生成jar文件但不能执行;如果Test后没有回车符,则生成jar文件时会报错。      
    
 四、将Login.class打包成.jar文件,并使用manifest.mf指明哪一个是带有public  static void main()的“主函数”      
 在命令行执行编译命令:      
 jar cvfm Login.jar manifest.mf *.class  
 
 
 
附录:Login.java(只是用于打包实验,无实际意义)
 
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.sql.*;
 
public class Login extends JFrame implements ActionListener
{
       JLabel name = new JLabel("用户名:");
       JLabel pass = new JLabel("密  码:");
      
       TextField name_txt = new TextField(100);
       TextField pass_txt = new TextField(100);
      
       JButton ok = new JButton("确定");
       JButton exit = new JButton("取消");
       JButton regedit = new JButton("注册");
 
       public Login()
       {
              pass_txt.setEchoChar('*');
             
              Label temp1 = new Label("   ");
              temp1.setBackground(new Color(198,198,226));
              Label temp2 = new Label("   ");
              temp2.setBackground(new Color(198,198,226));
              Label temp3 = new Label("   ");
              temp3.setBackground(new Color(198,198,226));
              Label temp4 = new Label("   ");
              temp4.setBackground(new Color(198,198,226));
             
              this.addWindowListener(new WindowHandler());
              this.setBackground(new Color(198,198,226));
              this.add(temp1,BorderLayout.EAST);
              this.add(temp2,BorderLayout.SOUTH);
              this.add(temp3,BorderLayout.WEST);
              this.add(temp4,BorderLayout.NORTH);
             
              Panel p1 = new Panel(new GridLayout(2,1,5,5));
              Panel p2 = new Panel(new GridLayout(2,2,0,8));
              Panel p3 = new Panel(new FlowLayout());
 
              p2.add(name);
              p2.add(name_txt);
              p2.add(pass);
              p2.add(pass_txt);
             
              p3.add(ok);
              p3.add(exit);
              p3.add(regedit);
 
              p1.add(p2);
              p1.add(p3);
              p1.setBackground(new Color(198,198,226));
             
              this.add(p1,"Center");
             
              ok.addActionListener(this);
              exit.addActionListener(this);
              regedit.addActionListener(this);
             
              this.setTitle("登录");
              this.setResizable(false);
              this.setLocation(300,200);
              this.setSize(300,180);
              this.setVisible(true);
             
       }    
              public void actionPerformed(ActionEvent e)
              {
                     if(e.getActionCommand() == "取消")
                     {
                            JOptionPane.showMessageDialog(null,"谢谢使用本系统!!!");
                            System.exit(0);
                     }
                    
                     if (e.getActionCommand() == "确定")
                     {
                            String name, pass;
                            name = name_txt.getText().trim();
                            pass = pass_txt.getText().trim();
                           
                            try
                            {
                                   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                                   Connection con = DriverManager.getConnection("jdbc:odbc:lxf");
                                   String sql = "select * from student where username=? and password=?";
                                   PreparedStatement ps = con.prepareStatement(sql);
                                   ps.setString(1,name);
                                   ps.setString(2,pass);
                                   ResultSet rs = ps.executeQuery();
                                   if (rs.next())
                                   {
                                          JOptionPane.showMessageDialog(null,"登录成功!!!");
                                          JFrame ff = new JFrame();
                                          JPanel pp = new JPanel(new GridLayout(3,1,0,0));;
                                          JLabel ll = new JLabel("用户名ID是:"+rs.getString("id"));
                                          JLabel ll1 = new JLabel("用户名是:"+rs.getString("username"));
                                          JLabel ll2 = new JLabel("用户名密码是:"+rs.getString("password"));
                                          pp.add(ll);
                                          pp.add(ll1);
                                          pp.add(ll2);
                                          ff.add(pp);
                                          ff.setSize(200, 200);
                                          ff.setVisible(true);
                                          this.dispose();
                                   }
                                   else
                                   {
                                          JOptionPane.showMessageDialog(null,"无此用户或密码不对/n请重新输入!!!");
                                          name_txt.setText("");
                                          pass_txt.setText("");
                                   }
                                  
                            }catch(Exception ee)
                            {
                                   JOptionPane.showMessageDialog(null,"数据库连接失败!!!");      
                                   ee.printStackTrace();
                            }
                     }
                     if(e.getActionCommand() == "注册")
                     {
                            String name,pass;
                            name = name_txt.getText().trim();
                            pass = pass_txt.getText().trim();
                           
                            if(name.equals("") || pass.equals(""))
                            {
                                   JOptionPane.showMessageDialog(null,"必须完整填写所有的信息!!!");
                                   return;
                            }
                           
                            try
                            {
                                   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
                                   Connection con = DriverManager.getConnection("jdbc:odbc:lxf");
                                   String sql = "select * from student where username=?";
                                   PreparedStatement ps = con.prepareStatement(sql);
                                   ps.setString(1,name);
                                   ResultSet rs = ps.executeQuery();
                                   if(rs.next())
                                   {
                                          JOptionPane.showMessageDialog(null,"该用户已经存在,请重新注册!!!");
                                          name_txt.setText("");
                                          pass_txt.setText("");
                                          return;    
                                   }
                                   else
                                   {
                                          sql = "insert into student(username,password) values(?,?)";
                                          ps = con.prepareStatement(sql);
                                          ps.setString(1,name);
                                          ps.setString(2,pass);
                                          int re = ps.executeUpdate();
      
                                          if (re != -1)
                                          {
                                                 JOptionPane.showMessageDialog(null,"用户注册成功!!!/n请登录本系统");      
                                                 name_txt.setText("");
                                                 pass_txt.setText("");
                                          }
                                          else
                                          {
                                                 JOptionPane.showMessageDialog(null,"注册失败/n请重新输入!!!");
                                                 name_txt.setText("");
                                                 pass_txt.setText("");
                                          }
                                   }
                            }catch(Exception ee)
                            {
                                   JOptionPane.showMessageDialog(null,"数据库连接失败!!!");      
                                   ee.printStackTrace();
                            }
                     }
              }
             
             
              public static void main(String args[])
              {
                     new Login();
              }
             
              class WindowHandler extends WindowAdapter
              {
                    public void windowClosing(WindowEvent e)
                   {
                       JOptionPane.showMessageDialog(null,"谢谢使用本系统!");  
                         System.exit(0);
                   }
              }
             
}
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息