jar打包问题

fenfan8526 2005-04-09 04:49:30
看程序:
//code in ProgressBarBeanInfo.java
package ProgressBar;
import java.beans.*;
import java.awt.*;
public class ProgressBarBeanInfo extends SimpleBeanInfo
{
public Image getIcon(int iconKind)
{
if(iconKind==BeanInfo.ICON_COLOR_16x16 )
{
Image img=loadImage("ProgressBarIcon16.gif");
return img;
}
if(iconKind==ICON_COLOR_32x32)
{
Image img=loadImage("ProgressBarIcon32.gif");
}
return null;
}
}
//code in ProgressBar.java
package ProgressBar;
import java.awt.*;
import java.awt.event.*;
import java.beans.*;
import java.io.Serializable;

public class ProgressBar extends Canvas implements Serializable
{
private float scaleSize;
private float currentValue;
public ProgressBar()
{
this(100,50);

}
public ProgressBar(float scaleSize,float currnetValue)
{
super();
this.scaleSize=scaleSize;
this.currentValue=currentValue;

setBackground(Color.lightGray);
setForeground(Color.magenta);
setSize(100,25);
}
public float getScaleSize()
{
return scaleSize;
}
public void setScaleSize(float sSize)
{
this.scaleSize=Math.max(0.0f,sSize);
if(this.scaleSize<this.currentValue)
{
this.scaleSize=this.currentValue;
}
}
public float getCurrentValue()
{
return currentValue;
}
public void setCurrentValue(float cVal)
{
this.currentValue=Math.max(0.0f,cVal);
if(this.currentValue>this.scaleSize)
{
this.currentValue=this.scaleSize;
}
}
public synchronized void paint(Graphics g)
{
int width=getSize().width;
int height=getSize().height;
g.setColor(getBackground());
g.fillRect(1,1,width-2,height-2);
g.draw3DRect(0,0,width-1,height-1,true);

g.setColor(getForeground());
g.fillRect(3,3,(int)((currentValue*(width-6))/scaleSize),height-6);
}
public void grow()
{
setCurrentValue(this.currentValue+1.0f);
}
public void shrink()
{
setCurrentValue(this.currentValue-1.0f);
}
}
//code in ProgressBar.mf
Name:ProgressBar/ProgressBar.class
Java-Bean:True


目录结构:顶层目录--ProgressBar.mf
|----ProgressBar---ProgressBar.class
|----ProgressBarBeanInfo.class
|----ProgressBarIcon16.gif
|----ProgressBarIcon32.gif

在顶层目录下(命令行窗口):运行
jar cfm ProgressBar.jar ProgressBar.mf ProgressBar
提示错误:
java.io.IOException: invalid header field
at java.util.jar.Attributes.read(Attributes.java:355)
at java.util.jar.Manifest.read(Manifest.java:162)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at sun.tools.jar.Main.run(Main.java:124)
at sun.tools.jar.Main.main(Main.java:904)

请问这是怎么回事,怎样解决?
...全文
140 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fenfan8526 2005-04-10
  • 打赏
  • 举报
回复
谢谢
飞行的兔子 2005-04-09
  • 打赏
  • 举报
回复
将你的manifest文件
Name:ProgressBar/ProgressBar.class
Java-Bean:True
改成下面试试:
Name: ProgressBar/ProgressBar.class
Java-Bean: True
即在名称和值之间加一个空格试试!我原来出现这样的错误就是这个原因!
quiton 2005-04-09
  • 打赏
  • 举报
回复
估计ProgressBar.mf写的有问题,在里面应该写上运行的那个主类是什么

Main-Class:ProgressBar.ProgressBar<回车>

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧