V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
caliburn1994
V2EX  ›  JetBrains

IDEA 和 gretty 的 build 功能

  •  
  •   caliburn1994 · 2017-05-02 15:35:58 +08:00 · 3296 次点击
    这是一个创建于 2766 天前的主题,其中的信息可能已经有所发展或是发生改变。

    创建 IDEA Java(web) project 后 IDEA 默认设置 build 的目录结构大概如下

    app
    |-build
    |	|-libs
    |    	|-exploded
    |        	|- **war
    |            	|-WEB-INF
    |                |-resource  (运行 tomcat 后,使用上传功能, 图片会上传到这里)
    |-src
       |-main
        	|-webapp
                |-resource (tomcat 关机后, 这里没刚上传的图片)
                |-WEB-INF
                
    

    这里的问题: build 后, resource 会从 src 文件夹复制过来(我的 resource 都是图片), 但是运行直接 tomcat 时候,使用上传图片功能后, 图片只会存在 build 的 resource 里, stop tomcat 后, 图片也没自动回传到 src 里. 这个设置让我搞不懂.


    数据库是一个完整体系, 所以数据都在数据库中, 不存在 webapp, 所以数据不存在可能在 src 或者 build, 这种情况. 同样, 文件(图片)是否不应该放在 webapp 里?

    而 gradle 的 gretty 插件, 增加配置 inplaceMode="hard", 则图片会直接存在 src 里的 地址

    gretty 的这种配置一定程度上否定了我的想法.(混乱...)

    可能有人想说, build 一个, 就可以一直用, 但是如果换了一些设置, 那个 build 岂不是不能用了(要手动移动),如改了个名字, 换成 gradle build

    4 条回复    2017-05-03 10:12:02 +08:00
    SoloCompany
        1
    SoloCompany  
       2017-05-02 17:55:10 +08:00   ❤️ 1
    源码是源码
    数据是数据
    runtime 是 runtime

    是什么原因导致你会希望把这三者混淆不清的弄成一块的
    caliburn1994
        2
    caliburn1994  
    OP
       2017-05-02 19:26:09 +08:00
    @SoloCompany 感谢回答, 我出现这种想法, 是因为一开始用 tomcat 运行代码, 后来改成 gradle 的 tomcat 运行代码, 结果在 gradle 上运行时, 图片都没显示出来. 所以才出现这种想法.
    SoloCompany
        3
    SoloCompany  
       2017-05-02 20:34:48 +08:00 via iPad
    你如果真想这么无聊的话
    我给你个提供个方案
    每次上传都触发一个 git commit,要不要 push 你自己想吧
    caliburn1994
        4
    caliburn1994  
    OP
       2017-05-03 10:12:02 +08:00 via Android
    @SoloCompany 嗯嗯,还是不 push...
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3136 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 13:56 · PVG 21:56 · LAX 05:56 · JFK 08:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.