public static void moveSQLite(){
File source = new File("C:\\Users\\User\\Desktop\\System.Data.SQLite"); // Specify initial path
File target = new File("C:\\Windows\\Microsoft.NET\\assembly\\GAC_64"); // Desired path
// If the source location exists, delete the any old source files
// and copy the entire directory of the source to the target location
if(source.exists()){
System.out.println("Installing SQLite Database.");
try {
FileUtils.deleteDirectory(target);
System.out.println("Deleting previous versions of System.Data.SQLite");
System.out.println("\"" + source + "\"" + " was successfully"
+ " copied to " + "\"" + target + "\"");
FileUtils.copyDirectory(source, target);
System.out.println("SQLite database has been installed.");
}catch (IOException e) {
e.printStackTrace();
}
// Otherwise prompt the user that the source directory does not exist
}else{
System.out.println("SQLite not found - are you sure you have it in the right directory?");
}
}
上面是我的Revit插件“安装程序”的方法之一。它不是一个安装程序,而是一个将特定文件夹和文件移动到主机计算机上的目标的脚本。
这是我第一次为Java做“软件开发”,因此我不了解大多数软件开发实践 - 我的问题是:如何将其打包为.jar或.msi,最好是用简单的命令-line接口,以便用户可以:
安装过程应尽可能无缝。这个脚本基本上取代了拖放 - 我基本上已经完成了。
答案 0 :(得分:0)
在eclipse中右键单击您的项目。出口 - > Runnable jar并选择实现此逻辑的主类。这将导出runnable jar文件。
此外,Install4j是打包,安装的非常好的选择,它还支持多个操作系统。我个人多次使用install4j(适用于Windows和Mac等平台),它非常简单且可配置。 请参阅以下网址
http://www.ej-technologies.com/products/install4j/overview.html
答案 1 :(得分:0)
在清单中设置Main-Class:
,使用java -jar myapp.jar
语法将jar变为可执行文件
有关如何执行此操作的更多背景信息和说明,请参阅Setting an Application's Entry Point。
假设Installer.class有main()
方法,并且是您的应用程序入口点。您的清单可能如下所示:
清单 - 版本:1.0
创建者:1.6.0_45-b06(Sun Microsystems Inc.)
Main-Class:com.foo.Installer
然后运行java -jar installer.jar
将调用com.foo.Installer
在某些操作系统下,双击jar也会启动主类。
修改如果您想将.jar
变为.exe
,那么我上面列出的内容是不够的。在这种情况下,如其他答案中所述,您需要使用launch4j或其中一种商业替代品。