精华内容
下载资源
问答
  • Web项目打包过程

    2013-05-15 09:49:52
    Web项目打包过程;为了避免用户看到源文件,在打包前,先发布要打包的网站,使.cs文件编译到项目里并且不可见
  • 主要介绍了Springboot web项目打包实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • java web项目打包

    2010-07-20 15:37:09
    java web项目打包java web项目打包
  • java web 项目打包、加密工具

    热门讨论 2012-06-18 17:08:17
    打包:将web项目打包成一个exe文件,客户直接双击、下一步就可以部署一个web项目。包括jdk、tomcat、mysql数据库这些繁琐的步骤都自动搞定。 加密:打包过程中对所有需要保护的类文件进行高强度加密,保护你的代码...
  • web项目打包成Native App

    千次阅读 2019-07-08 11:34:53
    web项目打包成Native App 好长时间没有写过博客了,闲暇时分静下心来给大家分享一下web项目打包成Native App的小知识,最近公司的web项目都开发到收尾阶段了,也在把web项目打包成Android和IOS程序包,我所使用的...

    web项目打包成Native App

    好长时间没有写过博客了,闲暇时分静下心来给大家分享一下web项目打包成Native App的小知识,最近公司的web项目都开发到收尾阶段了,也在把web项目打包成Android和IOS程序包,我所使用的打包工具是HbuilderX,Xcode也有使用,但每次配置的东西实在是有些繁琐,再一个就是我们有一个项目需要配置个推,HBuilderX集成了个推的SDK,只需要配置在个推中心申请的appid、appkey、appsecret即可,相对比较简单,因此现在多是采用HBuilderX打的程序包。

    一.打包成Android(.apk)

    打包成android比较简单,只需要在HBuilderX中新建一个5+App项目,然后只保留一个manifest.json文件,其余目录全部删除,再把vue打包后的dist文件夹放到项目根目录下,这样基本目录就OK了,接下来就要配置manifest.json了。

    配置manifest.json最需要注意的就是基础配置中的应用入口页面地址,很多人打完了包之后,也安装到移动端了,打开app什么也没有,只是一个空白页,那么很可能就是你的入口地址没写对,我们公司的项目都是配置到公网,所以把程序包交给运维后,运维部署完会给我们一个项目入口地址,先在PC的chrome浏览器输入这个网址,看看能不能进入到项目中,如果可以,就基本没问题。

    剩下的配置都相对比较简单,就不再这里一一描述了,接下来进入真机模拟(假设大家都已经配置好了manifest.json)

    真正打包之前,可以先连接真机,在真机安装HBuilder基座,先行验证一下项目是否可打开
    (菜单运行-运行到手机或模拟器-运行设备…),这里相当于在真机上安装了该app的初始测试版(此时配置的图标及启动图不会生效,真正打包才生效),如果HBuilder基座安装成功,并可以启动项目,那么恭喜,接下来就可以真正进入到打包程序了

    菜单发行—>原生App-云打包—>勾选Android,使用DCloud公有证书,下面的广告啥的取消勾选,点击打包,就是这么简单,接下来就是等待控制台日志显示打包成功并给你一个程序包的下载地址了,成功后下载apk安装包,此包可以交给运维部署,运维给你一个网址可以指向这个包,安卓用户就可以通过手机搜索这个网址下载程序了。

    下载方式:
    网址搜索下载:手机浏览器直接输入程序包网址,可直接下载
    二维码扫码下载:可以将指向该程序包的网址放到草料二维码官网,去生成一个二维码,手机扫这个二维码也可以下载。

    二.打包成ios(.ipa)

    ios打包是有些麻烦,需要去苹果开发者中心申请ios证书(.p12文件)及一个描述文件,到处.p12文件的时候会让你设定一个密码,这个密码就是HBuilderX打包ios程序包时的证书私钥密码。
    HBuilder中有个ios证书申请指南链接,里面的介绍还是蛮详细的,可以根据上面的步骤一步步来,最终会把所有文件都申请下来。具体申请不做过多介绍,下面把我遇到的坎给大家描述一下:

    描述文件类型相关的坎
    1.Ad Hoc
    如果我们在申请描述文件时选择的是Ad Hoc类型,那么我们的app将可以直接绕过App Store的审核,用户可直接下载使用(安装包可部署到公网服务器,通过输入指向该ipa程序包的网址下载),但前提是用户设备的UDID必须添加进来。也就是说,只有指定了用户的UDID,该用户才可以下载使用,这一般会出现在对企业内部使用的场景上,即只对部分人开放,并不想对所有人开放的时候。
    2.App Store
    如果我们在申请描述文件时选择的是App Store类型,那么我们的程序包将不可以直接安装到手机使用(无论是输入网址下载还是直接拖拽到Itunes),只能通过上传到TestFlight或AppStore才可以下载(需要审核)

    打包ios程序包需要填写四项:
    Bundle ID(AppID):这个是在苹果开发者中心申请的Identifiers,可以理解成app的唯一标识ID
    证书私钥密码:苹果开发者中心导出.p12文件的时候要求你设定的密码,上文中有提及
    证书profile文件:苹果开发者中心申请的Profiles
    私钥证书:.p12文件

    当上面四项都已具备,就可以愉快的打包了。

    注:以上文章纯属个人经验只谈,如有不对指出,欢迎指正

    展开全文
  • java web项目打包工具

    2018-01-15 14:43:18
    此工具为javaweb项目提供界面化的打包方式,简化javaweb项目在开发过程中打包的工作量。
  • web项目打包+安装过程中设置web.config和端口号。 多谢csdn提供资料。多谢wanghui0380提供帮助。
  • java web项目打包war部署到tomcat

    热门讨论 2010-05-31 10:28:56
    java web项目打包war部署到tomcat,包括有手动打包和MyEclipse打包方法。
  • 将我们的web项目打包成一个apk文件并不难,首先准备好软件HBuilder还有你的项目,注意这里只献给那些不是真正的安卓开发却想把web打包成apk文件的老铁们看,接下来我们一步步看: QQ截图20180523231532.png ...

    链接:https://www.jianshu.com/p/d86bf569295d

     

    将我们的web项目打包成一个apk文件并不难,首先准备好软件HBuilder还有你的项目,注意这里只献给那些不是真正的安卓开发却想把web打包成apk文件的老铁们看,接下来我们一步步看:

    QQ截图20180523231532.png

    打开HBuilder之后鼠标右键文件-新建-移动app然后会跳到这个页面,从图中我们可以看到需要我们填写几个地方,应用名称这里填你自己想写的名字,只要你喜欢即可,接下里我们要进行启动页面模板的选择,默认是第一个,其它的一样,这里我们就来看第一个吧,如图所示:

    QQ截图20180523232311.png

    这里我的应用名称是你懂得,然后点击完成,就是如图所示的一个项目结构,其真正的核心配置文件是manifest.json这个文件,我们来看看这个它:

    QQ截图20180523232929.png

    这是manifest.json文件的界面,这里我们需要挨个配置,配置之前我们先来了解下各自的作用。

    了解什么是manifest.json

    在HBuilder中manifest.json实质是H5+app的一个配置文件,一般用来显示我们的应用名称、图标以及该应用的入口文件和其它的一些权限信息,上图manifest.json的可视化 界面,Manifest.json文件根据w3c的webapp规范制定,plus节点下内容为
    HTML5Plus扩展规范,其下包括iOS和Android子节点,内容来源分别为iOS和
    Android原生打包所要求的参数,用于对5+移动App打包为ipa或apk安装包进行配
    置,我们来看看它的代码视图:

    代码视图:

    {
    "@platforms": ["android", "iPhone", "iPad"],
    "id": "H5030C660",/*应用的标识,创建应用时自动生成,勿手动修改*/
    "name": "你懂得",/*应用名称,程序桌面图标名称*/
    "version": {
        "name": "1.0",/*应用版本名称*/
        "code": ""
    },
    "description": "",/*应用描述信息*/
    "icons": {
        "72": "icon.png"
    },
    "launch_path": "index.html",/*应用的入口页面,默认为根目录下的index.html;支持网络地址,必须以http://或https://开头*/
    "developer": {
        "name": "",/*开发者名称*/
        "email": "",/*开发者邮箱地址*/
        "url": ""/*开发者个人主页地址*/
    },
    "permissions": {
        "Accelerometer": {
            "description": "访问加速度感应器"
        },
        "Audio": {
            "description": "访问麦克风"
        },
        "Messaging":{
            "description": "短彩邮件插件"
        },
        "Cache": {
            "description": "管理应用缓存"
        },
        "Camera": {
            "description": "访问摄像头"
        },
        "Console": {
            "description": "跟踪调试输出日志"
        },
        "Contacts": {
            "description": "访问系统联系人信息"
        },
        "Device": {
            "description": "访问设备信息"
        },
        "Downloader": {
            "description": "文件下载管理"
        },
        "Events": {
            "description": "应用扩展事件"
        },
        "File": {
            "description": "访问本地文件系统"
        },
        "Gallery": {
            "description": "访问系统相册"
        },
        "Geolocation": {
            "description": "访问位置信息"
        },
        "Invocation": {
            "description": "使用Native.js能力"
        },
        "Orientation": {
            "description": "访问方向感应器"
        },
        "Proximity": {
            "description": "访问距离感应器"
        },
        "Storage": {
            "description": "管理应用本地数据"
        },
        
        "Uploader": {
            "description": "管理文件上传任务"
        },
        "Runtime": {
            "description": "访问运行期环境"
        },
        "XMLHttpRequest": {
            "description": "跨域网络访问"
        },
        "Zip": {
            "description": "文件压缩与解压缩"
        },
        "Barcode": {
            "description": "管理二维码扫描插件"
        },
        "Maps": {
            "description": "管理地图插件"
        },
        "Speech": {
            "description": "管理语音识别插件"
        },
        "Webview":{
            "description": "窗口管理"
        },
        "NativeUI":{
            "description": "原生UI控件"
        },
        "Navigator":{
            "description": "浏览器信息"
        },
        "NativeObj":{
            "description": "原生对象"
        }
    },
    "plus": {
        "splashscreen": {
            "autoclose": true,/*是否自动关闭程序启动界面,true表示应用加载应用入口页面后自动关闭;false则需调plus.navigator.closeSplashscreen()关闭*/
            "waiting": true/*是否在程序启动界面显示等待雪花,true表示显示,false表示不显示。*/
        },
        "popGesture": "close",/*设置应用默认侧滑返回关闭Webview窗口,"none"为无侧滑返回功能,"hide"为侧滑隐藏Webview窗口。参考http://ask.dcloud.net.cn/article/102*/
        "runmode": "normal",/*应用的首次启动运行模式,可取liberate或normal,liberate模式在第一次启动时将解压应用资源(Android平台File API才可正常访问_www目录)*/
        "signature": "Sk9JTiBVUyBtYWlsdG86aHIyMDEzQGRjbG91ZC5pbw==",/*可选,保留给应用签名,暂不使用*/
        "distribute": {
            "apple": {
                "appid": "",/*iOS应用标识,苹果开发网站申请的appid,如io.dcloud.HelloH5*/
                "mobileprovision": "",/*iOS应用打包配置文件*/
                "password": "",/*iOS应用打包个人证书导入密码*/
                "p12": "",/*iOS应用打包个人证书,打包配置文件关联的个人证书*/
                "devices": "universal",/*iOS应用支持的设备类型,可取值iphone/ipad/universal*/
                "frameworks":[
                ]/*调用Native.js调用原生Objective-c API需要引用的FrameWork,如需调用GameCenter,则添加"GameKit.framework"*/
            },
            "google": {
                "packagename": "",/*Android应用包名,如io.dcloud.HelloH5*/
                "keystore": "",/*Android应用打包使用的密钥库文件*/
                "password": "",/*Android应用打包使用密钥库中证书的密码*/
                "aliasname": "",/*Android应用打包使用密钥库中证书的别名*/
               "permissions": ["<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>","<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>","<uses-permission android:name=\"android.permission.VIBRATE\"/>","<uses-permission android:name=\"android.permission.READ_LOGS\"/>","<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>","<uses-feature android:name=\"android.hardware.camera.autofocus\"/>","<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>","<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>","<uses-permission android:name=\"android.permission.CAMERA\"/>","<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>","<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>","<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>","<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>","<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>","<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>","<uses-permission android:name=\"android.permission.CALL_PHONE\"/>","<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>","<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>","<uses-feature android:name=\"android.hardware.camera\"/>","<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>","<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"]
                /*使用Native.js调用原生安卓API需要使用到的系统权限*/
            },
            "orientation": [
                "portrait-primary"
            ],/*应用支持的方向,portrait-primary:竖屏正方向;portrait-secondary:竖屏反方向;landscape-primary:横屏正方向;landscape-secondary:横屏反方向*/
            "icons": {
                "ios": {
                    "prerendered": true, /*应用图标是否已经高亮处理,在iOS6及以下设备上有效*/
                    "auto": "", /*应用图标,分辨率:512x512,用于自动生成各种尺寸程序图标*/
                    "iphone": {
                        "normal": "", /*iPhone3/3GS程序图标,分辨率:57x57*/
                        "retina": "", /*iPhone4程序图标,分辨率:114x114*/
                        "retina7": "", /*iPhone4S/5/6程序图标,分辨率:120x120*/
            "retina8": "", /*iPhone6 Plus程序图标,分辨率:180x180*/
                        "spotlight-normal": "", /*iPhone3/3GS Spotlight搜索程序图标,分辨率:29x29*/
                        "spotlight-retina": "", /*iPhone4 Spotlight搜索程序图标,分辨率:58x58*/
                        "spotlight-retina7": "", /*iPhone4S/5/6 Spotlight搜索程序图标,分辨率:80x80*/
                        "settings-normal": "", /*iPhone4设置页面程序图标,分辨率:29x29*/
                        "settings-retina": "", /*iPhone4S/5/6设置页面程序图标,分辨率:58x58*/
            "settings-retina8": "" /*iPhone6Plus设置页面程序图标,分辨率:87x87*/
                    },
                    "ipad": {
                        "normal": "", /*iPad普通屏幕程序图标,分辨率:72x72*/
                        "retina": "", /*iPad高分屏程序图标,分辨率:144x144*/
                        "normal7": "", /*iPad iOS7程序图标,分辨率:76x76*/
                        "retina7": "", /*iPad iOS7高分屏程序图标,分辨率:152x152*/
                        "spotlight-normal": "", /*iPad Spotlight搜索程序图标,分辨率:50x50*/
                        "spotlight-retina": "", /*iPad高分屏Spotlight搜索程序图标,分辨率:100x100*/
                        "spotlight-normal7": "",/*iPad iOS7 Spotlight搜索程序图标,分辨率:40x40*/
                        "spotlight-retina7": "",/*iPad iOS7高分屏Spotlight搜索程序图标,分辨率:80x80*/
                        "settings-normal": "",/*iPad设置页面程序图标,分辨率:29x29*/
                        "settings-retina": "" /*iPad高分屏设置页面程序图标,分辨率:58x58*/
                    }
                },
                "android": {
                    "mdpi": "", /*普通屏程序图标,分辨率:48x48*/
                    "ldpi": "", /*大屏程序图标,分辨率:48x48*/
                    "hdpi": "", /*高分屏程序图标,分辨率:72x72*/
                    "xhdpi": "",/*720P高分屏程序图标,分辨率:96x96*/
                    "xxhdpi": ""/*1080P 高分屏程序图标,分辨率:144x144*/
                }
            },
            "splashscreen": {
                "ios": {
                    "iphone": {
                        "default": "", /*iPhone3启动图片选,分辨率:320x480*/
                        "retina35": "",/*3.5英寸设备(iPhone4)启动图片,分辨率:640x960*/
                        "retina40": "",/*4.0 英寸设备(iPhone5/iPhone5s)启动图片,分辨率:640x1136*/
                        "retina47": "",/*4.7 英寸设备(iPhone6)启动图片,分辨率:750x1334*/
                        "retina55": "",/*5.5 英寸设备(iPhone6 Plus)启动图片,分辨率:1242x2208*/
                        "retina55l": ""/*5.5 英寸设备(iPhone6 Plus)横屏启动图片,分辨率:2208x1242*/
                    },
                    "ipad": {
                        "portrait": "", /*iPad竖屏启动图片,分辨率:768x1004*/
                        "portrait-retina": "",/*iPad高分屏竖屏图片,分辨率:1536x2008*/
                        "landscape": "", /*iPad横屏启动图片,分辨率:1024x748*/
                        "landscape-retina": "", /*iPad高分屏横屏启动图片,分辨率:2048x1496*/
                        "portrait7": "", /*iPad iOS7竖屏启动图片,分辨率:768x1024*/
                        "portrait-retina7": "",/*iPad iOS7高分屏竖屏图片,分辨率:1536x2048*/
                        "landscape7": "", /*iPad iOS7横屏启动图片,分辨率:1024x768*/
                        "landscape-retina7": ""/*iPad iOS7高分屏横屏启动图片,分辨率:2048x1536*/
                    }
                },
                "android": {
                    "mdpi": "", /*普通屏启动图片,分辨率:240x282*/
                    "ldpi": "", /*大屏启动图片,分辨率:320x442*/
                    "hdpi": "", /*高分屏启动图片,分辨率:480x762*/
                    "xhdpi": "", /*720P高分屏启动图片,分辨率:720x1242*/
                    "xxhdpi": ""/*1080P高分屏启动图片,分辨率:1080x1882*/
                 }
              }
           }
         }
     }
    

    这里是manifest.json的全部配置代码信息,我们也可以手动的去配置我们想要的,接下来我们将我们需要的权限挨个配置,首先我们来看应用信息:

    应用信息

    应用信息下包括了基本信息有:应用的名称、appid、版本号和页面入口等。如图所示:

    QQ截图20180524002640.png

    这里是它的可视化界面,我们这里的应用名称、以及appid、版本号、页面入口如图所示,注意一点,APPID是通过云端自动获取,版本号自己填,页面入口是index.html 页面。

    代码视图

    QQ截图20180524003325.png

    重力感应的配置

    所谓重力感应无非是手机的应用显示的方向比如竖屏、横屏以及旋转等,我们老看看它的可视化图的界面:

    QQ截图20180524003827.png

    上图是我们应用方向的可视化图,这里我们选择了所有的显示方向,我们来看看它的代码视图:

    代码可视化

    QQ截图20180524095101.png

    上图是我们该应用显示方向的代码配置,其中:
    portrait-primary:竖屏正方向;
    portrait-secondary:竖屏反方向;
    landscape-primary:横屏正方向;
    landscape-secondary:横屏反方向;
    这些要生效我们必须要在云端将它打包成app才能看到效果,接下来就是设备的选择,由于我毕设是安卓的,所以我这里来说说安卓设备的配置,照猫画虎,IOS差不多。

    设备选择

    HBuilder给我们提供了安卓和iOS设备当然也包括iOS平板等设备,选择不同的设备会有不同的不同的启动界面以及相应的配置,选择好了平台之后我们来进行相应的配置:

    图标配置

    QQ截图20180524100948.png

    首次配置时就如图所示,这里我们需要添加自己喜欢的图标,要求是正方形的格式为png的图片默认大小是180*180,添加之后是这个样子的,如图所示:

    QQ截图20180524101311.png

    对,没错就是这样的,之后将我们设备的图标替换成我们自己的,默认是HBuilder的logo,如图所示:

    QQ截图20180524101325.png

    这就是我们app的图标了,配置玩图标的可视化图我们来看看它的代码是如何配置的。如图所示:

    QQ截图20180524102242.png

    代码中我们可以看到,图标的大小跟我们视图的大小一致,总共有4中选择,你可以选择你喜欢的作为app的图标,接下来我们看app启动界面的配置

    启动界面的配置

    QQ截图20180524102706.png

    上图是安卓的启动界面的截图,首先点击图中箭头的按钮回跳到这个页面,选择你要的设备进行配置,如不配置,默认是HBuilder的logo,这里有5中分辨率的类型,是根据你手机的分辨率来进行对应的匹配,这里我们选择自己想要的图片点击图中的选择按钮,将图片加载进来,建议你5中分辨率全都将图片加载一下即可,之后选择按钮变为更换。

    QQ截图20180524103449.png

    这是代码视图,跟我们可视化图中的分辨率是一致的,当打包之后安装时会根据你手机分辨率的大小进行选择,这里我们不需要我们去设置,接下来进行SDK的配置,简单的说就是第三方的插件。

    SDK配置

    QQ截图20180524104139.png

    图中为第三方插件的配置,我们需要各自的接口,由于我的要求比较简单没有设置第三方的配置,不过后来我试了百度地图的SDK接口,可以的,这里不说了,下次说。

    模块权限的配置

    QQ截图20180524204913.png

    模块权限的配置使我们的应用能用到的,比如第三方的插件,这里会联动帮我们自动配置,所以这里不多说了。我们的应用配置差不多这里了,接下来是奇迹的时刻了,要想将你的项目能在app中显示,在我们的入口显示页面中加入如图所示的代码:

    QQ截图20180524210828.png

    在index.html页面中加入如图的代码即可,接下来近视打包的时刻了,如图所示:

    QQ截图20180524211335.png

    如图所示,点击发行-发行为原生安装包之后到了这个页面,选择自己的平台,我这里是安卓平台,如果你有自己的证书可以使用自己的,没有的话就使用公用证书,然后打包,跳到这个页面如图所示:

    QQ截图20180524211843.png

    到了这个界面,别担心稍等几分钟就可以了,然后就是一个apk安装包,可以手动下载安装到手机上就可以了,没错就是这么简单,不信动手试试哦!



    作者:会上树的程序猿
    链接:https://www.jianshu.com/p/d86bf569295d
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

    展开全文
  • 一、使用maven将你写好的web项目打包成war 1、点击idea右侧的maven,并双击lifecycle中package 2、 然后静待war包生成,war包会生成在项目的target文件夹中,将生成的war包改为自己喜欢的名字即可 二、...

    一、使用maven将你写好的web项目打包成war

    1、点击idea右侧的maven,并双击lifecycle中package

    2、 然后静待war包生成,war包会生成在项目的target文件夹中,将生成的war包改为自己喜欢的名字即可

     

     

    二、将war包上传到阿里云的linux服务器的tomcat中

    1、方法一:使用window的cmd的scp方法传输

    通过cmd进入你war所在的目录,输入命令“scp xxxxx.war root@ip地址:/root”

     :/root 是指放在linux那边的根目录,按自己的需要改路径哈,war包需要放在tomcat的webapps文件夹中

    2、方法二:通过Xshell的方法传输

    (1)连接自己的linux服务器后,先进入tomcat的webapps文件夹中,如果不知道tomcat的webapps文件夹在哪,可以输入sudo find / -name *tomcat*  来查看tomcat的安装路径

    (2)输入命令“rz”,选择你的war包,然后输入ls命令查看一下war包是否存在

     

    三、重启tomcat,你的项目即可在tomcat中运行

    (1)先关闭tomcat,在webapps目录下输入命令

    ../bin/shutdown.sh

    (2)开启tomcat,输入命令

    ../bin/startup.sh

    (3)在浏览器上输入:ip地址:端口号/war包名/xxxx   即可访问你的web项目啦

    展开全文
  • 怎么把在eclipse里面写的web项目打包成apk在手机上运行,不是android版的eclipse, 在线等,急急急
  • springboot web项目打包成jar包部署在服务器 springboot web项目打包成jar包部署在服务器 pom.xml Controller返回页面 部署和运行jar包 大功告成~~~ pom.xml 虽然官方并不推荐把网页放在webapp,但是我...

    springboot web项目打包成jar包部署在服务器

    pom.xml

    虽然官方并不推荐把网页放在webapp,但是我这边还是使用了webapp。

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>cn.com.test</groupId>
        <artifactId>test</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <!-- 打包成jar -->
        <packaging>jar</packaging>
    
        <name>test</name>
        <description>测试测试</description>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.5.9.RELEASE</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
    
        <repositories>
            <repository>
                <id>alimaven</id>
                <name>aliyun maven</name>
                <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
                <releases>
                    <enabled>true</enabled>
                    <updatePolicy>daily</updatePolicy>
                    <checksumPolicy>ignore</checksumPolicy>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                    <updatePolicy>daily</updatePolicy>
                    <checksumPolicy>ignore</checksumPolicy>
                </snapshots>
                <layout>default</layout>
            </repository>
        </repositories>
    
        <properties>
            <!-- 文件拷贝时的编码 -->
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
            <!-- 编译时的编码 -->
            <maven.compiler.encoding>UTF-8</maven.compiler.encoding>
            <java.version>1.8</java.version>
            <okhttp.version>3.9.1</okhttp.version>
            <guava.version>23.5-jre</guava.version>
            <fastjson.version>1.2.42</fastjson.version>
            <druid.version>1.1.6</druid.version>
            <informix.jdbc.version>4.10.JC7DE</informix.jdbc.version>
            <mybatis.version>1.3.1</mybatis.version>
            <mybatis.pagehelper.version>1.2.3</mybatis.pagehelper.version>
            <mybatis.base.version>1.2.1</mybatis.base.version>
            <quartz.version>2.2.1</quartz.version>
            <lombok.version>1.16.20</lombok.version>
            <poi.version>3.10-FINAL</poi.version>
            <commons-io.version>2.2</commons-io.version>
        </properties>
    
        <dependencies>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jpa</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-security</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-thymeleaf</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
    
    
            <!-- 使用fastJson代理spring默认Jackson -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>fastjson</artifactId>
                <version>${fastjson.version}</version>
            </dependency>
    
            <!-- 使用okhttp组件作为Http请求工具类 -->
            <dependency>
                <groupId>com.squareup.okhttp3</groupId>
                <artifactId>okhttp</artifactId>
                <version>${okhttp.version}</version>
            </dependency>
    
            <!-- 使用Google的Guava作为基础组件类库 -->
            <dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>${guava.version}</version>
            </dependency>
    
            <!-- 使用druid作为数据库数据源管理 -->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>${druid.version}</version>
            </dependency>
    
            <dependency>
                <groupId>com.oracle</groupId>
                <artifactId>ojdbc6</artifactId>
                <version>11.2.0.3.0</version>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-tomcat</artifactId>
                <!--<scope>provided</scope>-->
            </dependency>
    
    
    
            <!-- SpringBoot安全监控 -->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-actuator</artifactId>
            </dependency>
    
    
    
            <!-- 注解组件 -->
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <version>${lombok.version}</version>
                <scope>provided</scope>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
            <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-lang3</artifactId>
                <version>3.4</version>
            </dependency>
    
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>${poi.version}</version>
            </dependency>
            <dependency>
                <groupId>commons-io</groupId>
                <artifactId>commons-io</artifactId>
                <version>${commons-io.version}</version>
            </dependency>
        </dependencies>
    
        <build>
            <!-- 最后打包成的文件名 -->
            <finalName>test</finalName>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
    
            <!-- 指定资源文件的位置,否则maven打包的时候不会把文件打包进去,导致thymeleaf无法解析 -->
            <resources>
                <resource>
                    <directory>src/main/resources</directory>
                </resource>
                <resource>
                    <directory>src/main/webapp</directory>
                    <targetPath>META-INF/resources</targetPath>
                </resource>
    
            </resources>
        </build>
    
    
    </project>
    

    Controller返回页面

    这里需要注意,Controller返回页面页面时前面不要加/否则部署到服务器上thymeleaf会解析不出来

    /**
         * 登录请求
         * @return
         */
        @RequestMapping("/login")
        public String login(){
            return "login";
        }

    部署和运行jar包

    常规的将jar包上传到服务器上面之后,就可以进行部署了
    这里附上shell脚本,我这边指定了jdk为1.8

    export JAVA_HOME=/home/jdk1.8.0_161
    export JRE_HOME=/home/jdk1.8.0_161/jre
    export PATH=$JAVA_HOME/bin:$PATH
    ps -ef | grep 'test' | grep -v grep| awk '{print $2}' | xargs kill -9 
    sleep 10;
    java -jar /home/test/test.jar > /home/test/output.log 2>&1 &

    shell指令的意义参考下文
    shell指令的意义

    大功告成~~~

    撒花撒花撒花

    展开全文
  • java项目打包成war文件的2种方法: 1、使用命令行窗口 2、使用eclipse IDE工具
  • 在HBuilder里面把一个web项目打包成apk文件的步骤 1.创建一个移动App项目,点击左上角的"文件"——&gt;“新建”——“移动App”; 2.随便找一个已经写好的web项目复制到新创建的App项目里面; 3.点击...
  • web项目打包部署总结

    千次阅读 2019-08-21 17:16:56
    springboot项目打包部署,由于springboot内置tomcat,所以 springboot应用部署有两种方式: 1,打jar包运行; 2,打war包放到tomcat中运行 1:打jar包运行 打jar包可以直接用Java -jar 命令运行;前后端分离项目...
  • 目录 修改打包形式 移除嵌入式tomcat插件 添加servlet-api的依赖 修改启动类,并重写初始化...把spring-boot项目按照平常的web项目一样打成war包发布到tomcat容器下。 修改打包形式 在pom.xml里设置:<pack...
  • web项目打包上传服务器

    千次阅读 2017-12-29 15:43:35
    1.通过maven打包,步骤如下 打包好了在target下面 然后通过WinSCP连接服务器将war拷贝到tomcat的webapps目录下,启动tomcat就会自动编译,如需要发布在根目录,把之前的ROOT文件夹删除,再把包名改成ROOT 2.如果...
  • 要将Eclipse中开发的WEB项目打包,然后部署到服务器上: 1.导出为war格式的文件。Export —> WEB —> War 2.将War文件copy到服务器的webapps下面即可。
  • 百度了几个使用 idea 将 springboot web 项目打包成 jar 包的博客都有问题,打包出来的jar不能运行。 或者提示错误:Error: Invalid or corrupt jarfile x.jar。 于是自己总结了一个正确的方法,在重要的步骤...
  • myeclipse maven web项目打包

    千次阅读 2016-11-14 14:17:03
    打包报错,如下:(程序没报错,但打包总是不行)
  • 花了一整天的时间,终于将一个Spring+Mybatis+Maven的非web项目打包成了可执行jar,真心觉得不容易,现在将我使用的方法记录下来,希望能给有需要的同行们一些帮助。项目中Spring版本为3.2.2,Mybatis版本为3.2.0,...
  • web项目打包exe文件-实现一键布署

    千次阅读 2019-08-23 19:28:55
    打包工具 在网上下载一个 Inno steup的制作exe文件工具   用脚本向导创建新的脚本文件 确定后,根据向导填入程序信息   这一步选择应用程序没有主执行文件,点击添加文件夹,选择mysql、...
  • maven web项目打包部署

    千次阅读 2016-04-25 23:24:48
    今天写好代码后在本地运行测试好好的,但是用maven打包后部署到服务器上总是提示找不到资源,原以为是代码问题(代码中有个小bug,在windows上能运行,猜想在linux上运行不了也正常),但是把代码改正后,打包部署...
  • web项目打包成exe文件,一键安装

    热门讨论 2010-01-10 14:22:24
    公司要求必须把WEB项目做成EXE文件,因为客户是不可能去装JDK,TOMCAT,MYSQL的,所以我必须做成一个可执行文件,并初始化录入一些数据。 里面讲到了如何做tomcat和mysql的免安装方法还有环境变量的增加、修改和删除...
  • 关于用hbuilder将web项目打包成app

    千次阅读 2019-09-20 09:38:21
    1.vue打包前,需要做个处理:找到vue项目下config文件中的index.js,将assetsPublicPath修改成'./' 处理完在项目文件下执行打包命令:npm run build 得到dist文件 如图: 2.在hbuilder里新建app项目(默认模板...
  • web项目打包部署到服务器上的步骤

    千次阅读 2018-11-08 16:26:24
    一、将项目打包成war包。(这里以eclipse如何打包为例) 项目(右键)——&gt;Export——&gt;War file(Web)——&gt;选择war包保存路径——&gt;Finished。 二、发布到Tomcat上。 2.1 解压tomcat ...
  • Eclipse中的WEB项目打包部署到tomcat

    千次阅读 2019-07-29 16:21:30
    1、首先右键点击项目–>导出–>war file(如下图所示)。 2、填写导出的路径,已经导出的war包的名称(如下图所示)。 3、查看war包是否生成。 看下图我们可以看到已经成功生成了yfwtest_test.war了。 一、...
  • 利用HBuilderX将web项目打包成app

    千次阅读 2020-03-16 22:25:24
    HBuilderX:可直接将网页打包成手机端app,可以掠过安卓,真的很开心哈哈哈哈 具体的如何构建文件可见教程: 这里只介绍最后的配置打包...在基础配置中输入你的web网址 报错:选上面的重新获取AppID 图标配置...
  • [idea]web项目打包步骤详解

    千次阅读 2018-08-24 15:04:02
    说明:对于maven工程下打包很便捷,但是非maven打包,会显得繁琐许多.参考上面的博主的文章,打包能后在tomcat中能正常运行,亲测有效! 转自:转自下面的博客,做...1.窗口项目配置:右击项目-&gt;Open Module Setti...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 176,698
精华内容 70,679
关键字:

web项目打包