求一个 把 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 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 即使是只读权限,也只是不能编辑,还是可以复制的。
|