我把一个java程序打成了jar包,可以双击执行了。我在程序中只import了一些java基础类,但没有把java的基础类的jar包打进来。
问:在非java环境(没有JDK)中能执行么?能实现功能么?
不能的话怎么改进?

解决方案 »

  1.   

    执行的话
    有jre就行了
    或者你连jre也打包进去
      

  2.   

    应该要在Jre环境下才能运行吧,非Java环境下.class文件都不能运行呀
      

  3.   

    应该要在Jre环境下才能运行吧,非Java环境下.class文件都不能运行呀
      

  4.   

    我用exe4j也做成了一个.exe的文件,我就想知道在没有jre环境的电脑里能不能正常执行,请给我个准确答案
      

  5.   

    必须装了JRE的计算机上才可以运行Java class。
    如果通过exe4j等打包软件,在打包时已经包含了JRE(即自带了JRE),那么用该打包结果安装后就可以执行了,不管原来是否装了JRE(这时使用的是自带的JRE)
    如果import了第三方的jar,那么这些jar需指定classpath
      

  6.   


    exe4j我没用过
    我用JSmooth打过包  说是能把jre打进去  
    但实际上还是没有把全文件都打进去  只是有个路径而已
    楼主要想在没有java环境下运行jar包做成的exe程序
    也只能在打包之后  把exe程序和jre放到同一个目录下
    只有这样才能运行
      

  7.   

    可以肯定的是,再自己代码里没有打入你使用到的基础类的情况下,没有jdk是执行不了的。明显缺少了类支持。
    楼主,为什么环境里不能装JDK呢?环境有要求吗?一般的环境下都有jdk的呀?
    如果不装也可以,方法是自己在某个目录下将用到基础类也打进你的工程。这样反而显得更繁琐。建议不要这么搞,这样就失去了java的优势的是不。
    楼主自己考虑下怎么好吧,无论用什么打包,只要用到了库类,要么装jdk,要么将库里用的类放在自己的工程里。
    祝楼主能搞定这问题。
      

  8.   

    不一定有jdk但一定要有jre用exe4j也必须有jre,import的包要么放在jre下,要么一起用exe4j引入才行
      

  9.   

    import java.awt.Button;
    import java.awt.FlowLayout;
    import java.awt.Frame;
    import java.awt.TextField;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import java.awt.event.MouseEvent;
    import java.awt.event.MouseListener;
    import java.awt.event.WindowAdapter;
    import java.awt.event.WindowEvent;/*
    class MyWindowListener extends WindowAdapter
    {
        public void windowClosing(WindowEvent e)
        {
            System.exit(0);
        }  

    */class S extends Frame implements ActionListener,MouseListener {
    TextField x,y,z;
    Button bu;
    float a,b,c;
    String str;
    S(String s)
    {
    super(s);
    setLayout(new FlowLayout());
    x=new TextField("乘数",4);
    y=new TextField("被乘数",4);
    z=new TextField("乘积",6);
    bu=new Button("等于");
    add(x);
    add(y);
    add(bu);
    add(z);
    setBounds(100,100,270,100);
    setVisible(true);
    validate();
    bu.addActionListener(this);
    addWindowListener( new WindowAdapter()
    {
    public void windowClosing(WindowEvent e)
    {
    System.exit(0);
    }
    }
    );
    }
    public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub
    if(e.getSource()==bu){
    a=Float.parseFloat((x.getText()));
    b=Float.parseFloat((y.getText()));
    c=a*b;
    str=String.valueOf(c);
    z.setText(str);
    }

    }
    public void mouseClicked(MouseEvent e) {
    // TODO Auto-generated method stub
    e.
    }
    public void mouseEntered(MouseEvent e) {
    // TODO Auto-generated method stub

    }
    public void mouseExited(MouseEvent e) {
    // TODO Auto-generated method stub

    }
    public void mousePressed(MouseEvent e) {
    // TODO Auto-generated method stub

    }
    public void mouseReleased(MouseEvent e) {
    // TODO Auto-generated method stub

    }
    }public class ChengFa { /**
     * @param args
     */
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    S s=new S("计算功能GUI");
    }}