
求一个 把 java 程序封装到 U 盘里的方法,程序随插随用,需要的服务包括 mysql,tomcat,nginx,elasticsearch 目前想的方式是用 innosetup 封装成 exe,目前的问题市 将程序安装到 U 盘里盘符不固定,在当前电脑上可以使用,换到另外一台电脑上盘符变了就无法使用了
1 imxthd 2020-09-17 16:30:09 +08:00 那你找到对应盘不就好了吗 比如说在 U 盘中放一个标识文件,就能判断了 |
2 wdxm2008 2020-09-17 16:41:21 +08:00 只是盘符不固定吗?想想怎么自动改盘符? |
3 1406075864 OP 查了一下 盘符是 windows 自动生成的 |
4 lxk11153 2020-09-17 16:45:49 +08:00 相对路径? |
5 1406075864 OP @lxk11153 环境变量上要写绝对路径啊 |
6 ShallowAi 2020-09-17 16:52:33 +08:00 via Android 如果 NSIS 可以额外写插件识别 U 盘修改路径 具体实现尚未尝试 |
7 qwerthhusn/strong> 2020-09-17 16:52:39 +08:00 @1406075864 要啥环境变量,指定相对路径的执行程序就行了 |
8 VeryZero 2020-09-17 16:53:12 +08:00 U 盘可以放自动运行文件,自动运行以后修改环境变量 |
9 yidinghe 2020-09-17 17:02:04 +08:00 via Android 编写一个批处理文件,用 setx 命令修改环境变量,插入 U 盘后双击执行一次即可。我真这么干过,打造自己的开发 U 盘,只是读写速度真的慢。 |
10 lower 2020-09-17 17:02:23 +08:00 同意 7 楼 |
11 dddddd 2020-09-17 17:04:07 +08:00 docker |
12 youla 2020-09-17 17:06:00 +08:00 封装到 docker 镜像不好吗? |
13 huixia0010 2020-09-17 17:11:34 +08:00 7 楼正解 |
14 1024potato 2020-09-17 21:12:55 +08:00 docker-compose mysql nginx es redis 什么都有了 |
15 1406075864 OP 忘说了 我需要在 windows 电脑上运行这个 u 盘 |
16 1406075864 OP 而且 U 盘里边的东西不可复制 |
17 zzzmh 2020-09-18 10:21:38 +08:00 其他不清楚,就 jar 文件是可以用相对路径来执行的,边上放一个环境,然后写个 bat 脚本就可以了 |
18 youla 2020-09-18 20:32:22 +08:00 via Android @1406075864 你觉得都不可读,能运行吗? |
19 1406075864 OP @youla 为啥不可读 |
20 youla 2020-09-21 08:58:41 +08:00 @1406075864 不能复制的话,肯定不可读啊,如果要运行,肯定要能读取,如果能读取了,你会复制不出来???如果可以这样的话,要加密软件干嘛。 |
21 1406075864 OP @youla 不能复制并不代表一定不能读吧 |
22 youla 2020-09-21 16:18:43 +08:00 @1406075864 先假设此文件是个文本文档,你能让它不能复制,只能读取吗? |
23 youla 2020-09-21 16:19:33 +08:00 @1406075864 即使是只读权限,也只是不能编辑,还是可以复制的。 |