我们写好的应用程序打包后,怎么让它随系统启动就运行呢?最简单最绿色的方法是把jar包拷贝到开始菜单中的“启动”文件夹下,这样系统启动后程序就可以自动运行了。一般软件中选项设置有“随系统启动”这一项,拷贝的工作肯定由代码实现了。但是jar包路径如果动态的改变了那就有点麻烦了,那得必须获取动态的jar包路径信息。
下面的代码可以简单的实现程序随系统启动... private final static String DIR = "C:\\Documents and Settings\\All Users\\「开始」菜单\\程序\\启动\\";
//解决路径中空格问题
private static String formatPath(String path){
if(path==null) return "";
return path.replaceAll(" ", "\" \"");
}
//设置是否随系统启动
public static void setRunBySys(boolean b){
File file = new File(DIR,JarTool.getJarName());
Runtime run = Runtime.getRuntime();
try {
if (b) {
if (!file.exists()) {
run.exec("cmd /c copy " + formatPath(JarTool.getJarPath())+ " " + formatPath(DIR));
}
} else {
if (file.exists()) {
run.exec("cmd /c del " + formatPath(file.getAbsolutePath()));
}
}
} catch (Exception e) {
// TODO: handle exception
}
}
JarTool是自己封装的专门处理Jar包相关信息的类...
不知道为什么不能用IO流来拷贝,难道文件在运行过程中不许进行读写操作。
其实还有巧妙的方法是在“启动”目录下创建个bat批处理文件指向jar包。
但是程序每次启动的时候会弹出命令窗口,虽然是瞬间一闪而过,但就是看起来不爽。
找了些资料,可以用vb脚本来处理:
createobject("wscript.shell").run "XXX.bat",0
将上面的代码保存为vbs格式的文件即可,其中"XXX.bat"是启动jar的批处理,"0"表示隐藏命令行窗口。
现在可以总结一下,先创建一个启动jar的bat文件,然后再“启动”目录下创建一个指向这个bat的vbs脚本文件,这些可以代码实现的,取消随系统启动只要删除脚本就可以了。
分享到:
相关推荐
总的来说,设置jar应用程序在CentOS7上开机启动,主要是通过创建启动脚本、设置环境变量和修改`rc.local`文件来实现的。这种方法简单实用,适用于许多不使用自动化部署工具的情况。希望这个指南对你有所帮助,如果你...
- JSW是一个用于将Java应用程序包装为操作系统服务的工具,它提供了跨平台的服务管理功能。 2. **使用System V或Upstart服务**(针对Linux): - 在Linux环境下,可以创建System V init脚本或者使用Upstart配置来...
标题中的“jar windows 自启动包”指的是在Windows操作系统中,如何让一个Java应用程序(通常以.jar文件形式存在)能够自启动。这涉及到Windows服务的概念,Java的可执行包装技术,以及可能使用的第三方工具。 首先...
在Linux系统,特别是CentOS 7这样的服务器环境中,运行Java应用程序通常涉及到打包成JAR文件的程序。本文将深入探讨如何在CentOS 7中创建并执行Java的JAR启动脚本,以及如何配置该脚本使其能在系统开机时自动运行。 ...
exe4j是一款强大的Java应用程序打包工具,主要用于将Java的jar文件转换为Windows平台下的可执行文件(exe)。这个工具使得Java开发者能够方便地将他们的Java应用程序分发给那些可能没有安装Java运行环境(JRE)的...
7. **自动启动**: 脚本可以配置为系统启动时自动运行,例如通过将`startup.bat`添加到Windows的任务计划程序,实现服务的自启动功能,确保应用在系统开机时即开始提供服务。 8. **使用bat脚本的优势**: 它提供了...
SpringBoot的应用程序通常被打包为一个可执行的jar文件,这个jar包含了运行应用程序所需的所有依赖,包括JVM本身。这种打包方式使得SpringBoot应用可以在任何支持Java的环境中运行,无需额外的配置或服务器环境。 ...
Docker是一种流行的容器化平台,它允许开发人员打包应用程序及其依赖项到轻量级容器中。在Docker中,服务开机自启涉及创建一个Docker Compose文件(例如`docker-compose.yml`),定义服务的启动配置。然后,通过`...
Spring Boot 通过提供预设的配置和自动配置功能,使得开发者能够快速搭建应用程序,而无需大量的手动配置。它支持与多种流行的技术集成,如MyBatis、Redis 和 ActiveMQ,极大地提高了开发效率。 在集成MyBatis时,...
在Linux环境下启动Java应用程序是许多开发人员和系统管理员日常任务的一部分。Java的可移植性使得它能在各种操作系统上运行,而Linux作为服务器平台的广泛使用,使得了解如何在该平台上启动Java变得至关重要。本文将...
通过使用Wrapper,开发者可以轻松地将Java的`jar`包配置为开机启动、自动恢复等特性,提升应用程序的稳定性。 下面我们将详细探讨如何使用`Windows Service Wrapper`将`jar`包转换为Windows服务,以及`jarrun`这个...
在IT行业中,shell脚本是Linux或Unix系统中用于自动化任务的强大工具,而jar和war文件则是Java应用程序的标准打包格式。这篇博客文章标题为“shell脚本发布jar包服务,war包服务”,意味着它将介绍如何使用shell脚本...
标题中的"wrapper-windows-x86-64-3.5.14-windows系统服务打包,64位可用"指的是一个特定版本的Java可执行包装器(Wrapper),它用于将Java应用程序转换为Windows服务,以便在操作系统启动时自动运行。这里的"3.5.14...
其中`SendScreen.jar`是包含截屏和邮件发送逻辑的Java应用程序。 源代码通常包括实现上述功能的Java类,可能包括一个使用`Robot`类进行截屏的类和一个使用JavaMail API发送邮件的类。开发者可能会将这些类打包成jar...
将启动脚本(如start.bat)复制到这个路径下,可以实现系统启动时自动运行该脚本,从而启动Java服务。 5. **Windows自启动机制**:Windows系统提供了多种方法来实现程序自启动,如注册表项(HKCU\Software\...
FXLauncher 是一个 18Kb 的 jar,可用于启动您的应用程序。 它知道您托管所有应用程序资源的应用程序存储库的位置。 请参阅的清单示例。 FXLauncher 将在每次启动时查找远程存储库以检查清单的更新版本。 检索...
然后,我们需要执行以下命令来加载、启动服务并设置开机启动: ```bash sudo systemctl daemon-reload sudo systemctl start agent sudo systemctl enable agent ``` 如果需要取消开机自启动,可以使用: ```bash...
JAR文件是Java平台的标准归档格式,它允许将多个类文件和其他资源打包到一个文件中。要使JAR文件在Windows上作为服务运行,我们需要借助一些工具,例如`WinSW`(Windows Service Wrapper)。 `WinSW`是一个开源项目...