我使用Eclipse在Java中创建了一个命令行应用程序。我创建了一个可运行的JAR,并了解如果我想运行它,我需要通过命令提示符来完成它。有没有办法让.jar打开命令提示符并单击运行程序?
编辑:为了澄清,该程序在Eclipse的控制台中运行,并运行我通过命令提示符创建的.jar(即java -jar Minesweeper.jar
)。当我点击.jar文件时,我只是喜欢它执行。
答案 0 :(得分:2)
尝试将命令行基本应用程序作为可运行的jar文件运行时,我注意到了这个问题。如果您尝试执行创建和显示jframe等操作,它可以正常工作。我唯一的建议是,如果你在Windows上,你可以制作一个包含以下行的批处理文件:
java -jar nameofjar.jar
将文件命名为run.bat,然后双击它,它将运行命令行应用程序。除此之外,我不确定为什么在基于命令行输入的应用程序中出现此问题。
编辑:
如果您无法想出通过双击jar来运行真实命令的方法,可以使用以下方法来显示虚假的命令提示符。
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Insets;
import java.awt.Rectangle;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class FakeCommandPrompt {
private JTextArea myTextArea;
private JScrollPane scrollPane;
private JFrame mainFrame;
/**
* Setup the fake command prompt.
*/
public FakeCommandPrompt()
{
mainFrame = new JFrame();
mainFrame.setBounds(new Rectangle(new Dimension(500, 400)));
mainFrame.setBackground(Color.BLACK);
myTextArea = new JTextArea();
myTextArea.setBackground(Color.BLACK);
myTextArea.setForeground(Color.WHITE);
myTextArea.setEditable(false);
myTextArea.setMargin(new Insets(10, 10, 10, 10));
scrollPane = new JScrollPane(myTextArea);
scrollPane.setBackground(Color.BLACK);
mainFrame.add(scrollPane);
mainFrame.setVisible(true);
}
public void printToCommandPrompt(String text)
{
// Append the new next to the command prompt
// Add a new line at the end
this.myTextArea.append(text + "\n");
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// Create and instance of the fake command prompt.
FakeCommandPrompt commandPrompt = new FakeCommandPrompt();
// Prints 0 -> 5 on the fake command prompt.
for (int i = 0; i <= 5; i++)
{
commandPrompt.printToCommandPrompt(String.valueOf(i));
}
}
}
另外,你能告诉我你用来创建runnable jar文件的步骤吗?上面的代码应该通过双击jar文件来运行。如果没有,那么创建jar文件的方式可能有问题。
答案 1 :(得分:0)
你在Windows上吗?
您是否尝试过创建jar文件的快捷方式? 桌面&gt;右键单击&gt;创建快捷方式&gt; [指定jar文件的路径]
如果你确实有一个可运行的jar,你应该可以通过点击或双击来运行它。