是的,从您的描述来看,您似乎有些困惑。
首先,数据库通常作为具有多个客户端连接到的服务器运行,从而允许它们包含共享。启动Java DB时,正在启动Java DB数据库服务器。
这就是说,重量轻数据库,如Java DB可以在嵌入式模式运行解释这里。请记住,指向该derby.system.home
属性的目录将需要包含数据库文件,否则,您也需要以编程方式创建该文件。
其次,有多种方法可以在IDE外部运行Java应用程序,但是jar本身的执行方式不同于Windows中exe文件的执行方式。
最简单的方法是调用java可执行文件,并传递必要的类路径和包含main方法的类的名称。例如,如果我有一个名为的类com.example.Application
已编译到目录中,C:\dev\example\classes
则以下命令行将运行该应用程序:
java -cp C:\dev\example\classes com.example.Application
如果存在对外部库的依赖关系(如您在Derby JDBC驱动程序上的依赖关系),那么这些依赖关系也需要包含在类路径中,从而产生以下内容:
java -cp C:\dev\example\classes;C:\dev\lib\derby.jar com.example.Application
现在,回到罐子里。就像我说的那样,罐子不是可执行文件,但是有些东西被称为“可执行罐子”。这是与任何广口瓶,除了有一些特殊的补充清单指定应用程序的入口点或主类和类路径描述这里。
在jar的清单中指定了main-class和class-path后,以下命令行将运行该应用程序:
java -jar C:\dev\example.jar
您甚至可以将jar扩展名与java exe关联,然后双击jar将导致应用程序启动(尽管在开发机器上,将jar扩展名与WinZip或类似的东西关联以打开该jar可能更有用)。