Java 为什么我不能通过点击打开jar文件?

Java 为什么我不能通过点击打开jar文件?,java,eclipse,console,Java,Eclipse,Console,我用eclipse编写了一个小java程序,这里有一个问题。如果我尝试双击或右键单击(我在Windows和linux上尝试过)来打开它,则没有任何效果。但是我使用了“java-jar…”,它很有效。我怎样才能做到我的程序只需点击它就可以运行 这是我的密码: 乌提尔斯--> packagemain; 公共类公用事业{ 私有布尔n=false; 公共事业(){ 这个。n=假; } 林匹亚公共空间(){ 对于(int i=0;i

我用eclipse编写了一个小java程序,这里有一个问题。如果我尝试双击或右键单击(我在Windows和linux上尝试过)来打开它,则没有任何效果。但是我使用了“
java-jar…
”,它很有效。我怎样才能做到我的程序只需点击它就可以运行

这是我的密码:

乌提尔斯-->

packagemain;
公共类公用事业{
私有布尔n=false;
公共事业(){
这个。n=假;
}
林匹亚公共空间(){
对于(int i=0;i<100;i++)
System.out.println();
}
公共空间{
对于(int i=0;i<5;i++)
System.out.println();
}
公共空间espacio(){
对于(int i=0;i<2;i++)
System.out.println();
}
公共静态整数计数行(字符串str){
如果(str==null | | str.length()==0)
返回0;
int行=1;
int len=str.length();
对于(int pos=0;pos
未设置Jar默认可执行文件。您可以右键单击jar并选择properties。现在选择change并选择以下C:\Program Files\Java\jre7\bin\javaw.exe


这将使javaw成为jar的默认应用程序可执行。

您的程序需要一个终端来显示文本。当使用
java-jar
运行时,您打开了终端,因此您可以看到您期望的结果。当没有终端时,需要打开一个终端。在windows上,这要求您使用
java.exe
(而不是
javaw.exe
).

您尚未将操作系统配置为在单击
java
时使用
执行
.jar
文件?可能的重复文件听起来像是.jar文件与您的JRE没有关联。它的启动和停止速度可能太快,您看不到它。请根据需要标记答案,以有效的为准。
package main;

public class Utiles {

    private boolean n = false;

    public Utiles() {
        this.n = false;
    }

    public void limpia() {
        for (int i = 0; i < 100; i++)
            System.out.println();
    }

    public void salta() {
        for (int i = 0; i < 5; i++)
            System.out.println();
    }

    public void espacio() {
        for (int i = 0; i < 2; i++)
            System.out.println();
    }

    public static int countLines(String str) {
        if (str == null || str.length() == 0)
            return 0;
        int lines = 1;
        int len = str.length();
        for (int pos = 0; pos < len; pos++) {
            char c = str.charAt(pos);
            if (c == '\r') {
                lines++;
                if (pos + 1 < len && str.charAt(pos + 1) == '\n')
                    pos++;
            } else if (c == '\n') {
                lines++;
            }
        }
        return lines;
    }

}