当前位置:  技术问答>java相关

why I can't run jar successfully?

    来源: 互联网  发布时间:2015-01-19

    本文导语:  I'm reading . I create a file named SimpleBean.java : --------------------------------------------------------------- package sunw.demo.simple; import java.awt.*; import java.io.Serializable;  public class SimpleBean extends Canvas implements Serializable{     pr...

I'm reading .
I create a file named SimpleBean.java :
---------------------------------------------------------------
package sunw.demo.simple;
import java.awt.*;
import java.io.Serializable; 
public class SimpleBean extends Canvas implements Serializable{
    private Color color = Color.green;
    public Color getColor(){
        return color;
    }
    public void setColor(Color newColor){
        color = newColor;
        repaint();
    }
    public void paint(Graphics g) {
        g.setColor(color);
        g.fillRect(20, 5, 20, 30);
    }
    public SimpleBean(){
        setSize(60,40);
        setBackground(Color.red);
    }

--------------------------------------------------------

and a file named manifest.tmp :
--------------------------------------------------------
Name:SimpleBean.class
Java-Bean:True
--------------------------------------------------------

and javac SimpleBean.java successfully.
but when i run the command:
jar cfm SimpleBean.jar manifest.tmp SimpleBean.class
i get an error like this:
java.io.IOException: invalid header field
        at java.util.jar.Attributes.read(Attributes.java:353)
        at java.util.jar.Manifest.read(Manifest.java:159)
        at java.util.jar.Manifest.(Manifest.java:59)
        at sun.tools.jar.Main.run(Main.java:124)
        at sun.tools.jar.Main.main(Main.java:778)

sos,please help me

 

|
In the manifest file of a JAR, it is possible to specify the class to be used when the JVM is lauched with the JAR as parameter. The class must have a main(). 
Try with this simple class import java.awt.*;
import java.awt.event.*;

public class MyClass {
 public static void main(String[] args) {
    Frame f = new Frame();
    f.addWindowListener
          (new WindowAdapter() {
              public void windowClosing(WindowEvent e) {
                 System.exit(0);
                 }
              }
    );
    f.add(new Label("Hello world"));
    f.setSize(200,200);
    f.setVisible(true);
   }
}
 



Then create this manifest file (manifest.mft) with any text editor. Manifest-Version: 1.0
Main-Class: MyClass
Classpath: .MyJar.jar
 


Next, you include the manifest file in the JAR (MyJar.jar) with the MyClass class. jar cvfm MyJar.jar manifest.mft MyClass.class
 


Then you are able to start the MyClass.class by double-clicking on the MyJar.jar file (if the JRE is correctly installed) or by typing java -jar MyJar.jar
 


On NT, you can also make JARs run from the command-line by setting the PATHEXT environment variable, for example set PATHEXT=.EXE;.BAT;.CMD;.JAR
 



Then if you have the jar file MyJar.jar accessible via the PATH environment variable, typing "MyJar" on the DOS command line will invoke "java -jar MyJar.jar" . 

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 中文问题why?why?why?--等待中
  • why why why?
  • JBUILDER 5.0总死机或鼠标不能用,WHY
  • why?
  • solaris for intel 网卡连不通,ping 自己正常, why? 50分!!!
  • http://sourceforge.net/不能访问了,why?
  • 在非GUI程序中,我用JOptionPane.showMessageDialog后,发现程序无法结束。why?
  • Why?????? DbPerson.java:286: cannot resolve symbol!!!!
  • 各位大侠:我FTP到UnixWare服务器后,PUT本地的文件很快,到GET巨慢,why???
  • 我用libnet发tcp syn包给自己, 但没有响应包, why?
  • 开源程序安装后, 找不到.so, why?
  • 安装好J Builder 5.0后不能输入serial no,why?
  • why it is overload?
  • 一道题,select what & why?
  • ========FreeJava编译能通过,但不能运行,why?=======
  • 用Bochs CPU占有率长期100%,why?
  • 安装jbuilder6后,运行时提示'Unknown license file format', WHY?
  • Linux安装不能初始图形程序,Why?在线等.
  • 关于socks5的问题,总是死...why?
  • 急求!! U盘安装CentOS出现缺少ISO9660图像!Why??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3