我想把一个Applet打包成可执行的jar文件 我自己创建了一个MANIFEST.mf 文件里面是
Main-Class: com.Login\n
可以打包成jar文件 但是没有办法执行 出错了
Failed to load Main-Class manifest attribute from
E:\Eclipse\Texiao\src\loin.jar
请问应该怎么做
[此贴子已经被作者于2007-6-23 22:18:03编辑过]
----------------解决方案--------------------------------------------------------
假设你要打包的程序目录为JAVA,它在名为TEST的目录中,你需要在TEST下创建一个目录:
META-INF
这个目录里包含一个文件:
MANIFEST.MF
这个文件里的内容:
Manifest-Version: 1.0
Main-Class: main
main为你要执行的主程序
----------------解决方案--------------------------------------------------------
同意楼上的说法!
----------------解决方案--------------------------------------------------------
你能说的详细点吗
命令行怎么输入
如果我的.class文件在com包里面 那我的MANIFEST.MF文件还是跟你那一样放吗
命令行怎么输入
----------------解决方案--------------------------------------------------------
使用jar命 令
然后再声明一个说明文件,文本格式的
jar cvfm my.jar my.txt *.class
其中my.txt 里面声明了你的主类全称
my.jar就是你生成的jar文件的名字
*.class表示当前文件夹下面的所以类文件都包进去,你也可以给一个目录,让这个目录都包进去
说明文件里面的格式
Main-Class: com.mycompany.Main
注意:打完Main后要加一个回车,并且Main-Class: 和com之间要有一个空格
你也可以加上别的条款
Class-Path: xx.jar x1.jar x2.jar
用空格分开
----------------解决方案--------------------------------------------------------
我把MANIFEST.MF文件 和 Login.class 文件放在com的目录下
MANIFEST.MF 里面
Manifest-Version: 1.0
Main-Class: Login
在命令行 jar cvf login.jar MANIFEST.MF Login.class
还是出
Failed to load Main-Class manifest attribute from
E:\Eclipse\Texiao\src\com\loin.jar
错误
----------------解决方案--------------------------------------------------------
我把MANIFEST.MF文件 和 Login.class 文件放在com的目录下
MANIFEST.MF 里面
Manifest-Version: 1.0
Main-Class: Login
在命令行 jar cvfm login.jar MANIFEST.MF Login.class
他说找不到 main class
[此贴子已经被作者于2007-6-23 23:14:58编辑过]
----------------解决方案--------------------------------------------------------
我的Login.class
package com;
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import javax.swing.Timer;
public class Login extends JFrame implements ActionListener
{
JLabel lblUserName;
JLabel lblUserPwd;
JTextField txtUsrName;
JPasswordField txtUsrPwd;
JButton btnLogin;
JButton btnCancel;
JButton btnRegister;
String UsrName;
char[] UsrPwd;
String strPwd;
Socket toServer;
ObjectInputStream streamFromServer;
PrintStream streamToServer;
public Login(){
this.setTitle("登陆");
JPanel panel = new JPanel();
panel.setLayout(new GridBagLayout());
GridBagConstraints gbCons = new GridBagConstraints();
gbCons.gridx = 0;
gbCons.gridy = 0;
lblUserName = new JLabel("用户名");
panel.add(lblUserName,gbCons);
gbCons.gridx = 1;
gbCons.gridy = 0;
txtUsrName = new JTextField(20);
panel.add(txtUsrName,gbCons);
gbCons.gridx = 0;
gbCons.gridy = 1;
lblUserPwd = new JLabel("密码");
panel.add(lblUserPwd,gbCons);
gbCons.gridx = 1;
gbCons.gridy = 1;
txtUsrPwd = new JPasswordField(20);
panel.add(txtUsrPwd,gbCons);
JPanel btnPanel = new JPanel();
btnLogin = new JButton("登陆");
btnPanel.add(btnLogin);
btnLogin.addActionListener(this);
btnRegister = new JButton("注册");
btnPanel.add(btnRegister);
btnRegister.addActionListener(this);
btnCancel = new JButton("取消");
btnPanel.add(btnCancel);
btnCancel.addActionListener(this);
gbCons.gridx = 1;
gbCons.gridy = 3;
gbCons.anchor = GridBagConstraints.EAST;
panel.add(btnPanel,gbCons);
this.getContentPane().add(panel);
this.setVisible(true);
this.setSize(450,200);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
}
void showdlg(){
JOptionPane.showMessageDialog(this,
"用户名密码不正确","错误信息",JOptionPane.ERROR_MESSAGE);
}
public void actionPerformed(ActionEvent e) {
JButton button = (JButton) e.getSource();
if(button.equals(btnCancel)){
this.dispose();
}
else if(button.equals(btnRegister))
{
//new Register();//调用注册程序
this.dispose();
}else{
try{
toServer = new Socket("机器名",1001);
streamFromServer = new ObjectInputStream(toServer.getInputStream());
streamToServer = new PrintStream(toServer.getOutputStream());
streamToServer.print("登陆信息");
UsrName = txtUsrName.getText();
UsrPwd = txtUsrPwd.getPassword();
strPwd = new String(UsrPwd);
streamToServer.println(UsrName+":"+UsrPwd);
String fromServer = (String)streamFromServer.readObject();
if(fromServer.equals("欢迎")){
//new clientInt(UsrName);
this.dispose();
}
else{
this.showdlg();
}
}
catch(Exception el)
{
System.out.println("发生异常:"+el.toString());
}
}
}
public static void main(String args[]){
new Login();
}
}
这个不会什么错吧
----------------解决方案--------------------------------------------------------
帮忙帮到一半 我还没明白
就全跑了
----------------解决方案--------------------------------------------------------
JAVA ?
当我没说过要帮你....撤退了~~~
----------------解决方案--------------------------------------------------------