V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
1406075864
V2EX  ›  程序员

Java 程序封装到 U 盘

  •  
  •   1406075864 · 2020-09-17 16:25:40 +08:00 · 2238 次点击
    这是一个创建于 1546 天前的主题,其中的信息可能已经有所发展或是发生改变。

    求一个 把 java 程序封装到 U 盘里的方法,程序随插随用,需要的服务包括 mysql,tomcat,nginx,elasticsearch 目前想的方式是用 innosetup 封装成 exe,目前的问题市 将程序安装到 U 盘里盘符不固定,在当前电脑上可以使用,换到另外一台电脑上盘符变了就无法使用了

    23 条回复    2020-09-21 16:19:33 +08:00
    imxthd
        1
    imxthd  
       2020-09-17 16:30:09 +08:00
    那你找到对应盘不就好了吗

    比如说在 U 盘中放一个标识文件,就能判断了
    wdxm2008
        2
    wdxm2008  
       2020-09-17 16:41:21 +08:00
    只是盘符不固定吗?想想怎么自动改盘符?
    1406075864
        3
    1406075864  
    OP
       2020-09-17 16:44:20 +08:00
    查了一下 盘符是 windows 自动生成的
    lxk11153
        4
    lxk11153  
       2020-09-17 16:45:49 +08:00
    相对路径?
    1406075864
        5
    1406075864  
    OP
       2020-09-17 16:50:13 +08:00
    @lxk11153 环境变量上要写绝对路径啊
    ShallowAi
        6
    ShallowAi  
       2020-09-17 16:52:33 +08:00 via Android
    如果 NSIS 可以额外写插件识别 U 盘修改路径 具体实现尚未尝试
    qwerthhusn
        7
    qwerthhusn  
       2020-09-17 16:52:39 +08:00
    @1406075864 要啥环境变量,指定相对路径的执行程序就行了
    VeryZero
        8
    VeryZero  
       2020-09-17 16:53:12 +08:00
    U 盘可以放自动运行文件,自动运行以后修改环境变量
    yidinghe
        9
    yidinghe  
       2020-09-17 17:02:04 +08:00 via Android
    编写一个批处理文件,用 setx 命令修改环境变量,插入 U 盘后双击执行一次即可。我真这么干过,打造自己的开发 U 盘,只是读写速度真的慢。
    lower
        10
    lower  
       2020-09-17 17:02:23 +08:00
    同意 7 楼
    dddddd
        11
    dddddd  
       2020-09-17 17:04:07 +08:00
    docker
    youla
        12
    youla  
       2020-09-17 17:06:00 +08:00
    封装到 docker 镜像不好吗?
    huixia0010
        13
    huixia0010  
       2020-09-17 17:11:34 +08:00
    7 楼正解
    1024potato
        14
    1024potato  
       2020-09-17 21:12:55 +08:00
    docker-compose mysql nginx es redis 什么都有了
    1406075864
        15
    1406075864  
    OP
       2020-09-18 09:10:56 +08:00
    忘说了 我需要在 windows 电脑上运行这个 u 盘
    1406075864
        16
    1406075864  
    OP
       2020-09-18 09:12:12 +08:00
    而且 U 盘里边的东西不可复制
    zzzmh
        17
    zzzmh  
       2020-09-18 10:21:38 +08:00
    其他不清楚,就 jar 文件是可以用相对路径来执行的,边上放一个环境,然后写个 bat 脚本就可以了
    youla
        18
    youla  
       2020-09-18 20:32:22 +08:00 via Android
    @1406075864 你觉得都不可读,能运行吗?
    1406075864
        19
    1406075864  
    OP
       2020-09-21 08:25:22 +08:00
    @youla 为啥不可读
    youla
        20
    youla  
       2020-09-21 08:58:41 +08:00
    @1406075864 不能复制的话,肯定不可读啊,如果要运行,肯定要能读取,如果能读取了,你会复制不出来???如果可以这样的话,要加密软件干嘛。
    1406075864
        21
    1406075864  
    OP
       2020-09-21 16:12:51 +08:00
    @youla 不能复制并不代表一定不能读吧
    youla
        22
    youla  
       2020-09-21 16:18:43 +08:00
    @1406075864 先假设此文件是个文本文档,你能让它不能复制,只能读取吗?
    youla
        23
    youla  
       2020-09-21 16:19:33 +08:00
    @1406075864 即使是只读权限,也只是不能编辑,还是可以复制的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3131 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:11 · PVG 08:11 · LAX 16:11 · JFK 19:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.