java打包成window service服务[转]

1 解释

java project 
我说的是main方法作为程序入口的java工程,有别于 web project。

这样的工程 一般都是web
project的附属扫描程序或一些独立的执行程序,如数据同步程序等。
     把这样的project
要部署到生产机上去运行,这样就涉及到两个问题: 
        1
打包问题,我们一般不会把整个工程文件夹给放上去,一般做法是打一个jar包。
        2
执行问题  最好的做法就是这些main方法程序的工程 对客户来说是透明的 就要求工程 发布成windows 的一个服务。并且设置成一
个自动启动的服务。

2 java project打包解决方案

我们做java project
的开发环境一般是Eclipse,这个开发环境本身就提供了把java project 打包成Jar file的功能。
菜单
File--->Export 选择相应的java project 设置相应的main方法类 按照向导就可以轻松完成。
但这里有一个很大的不足,就是支持这个java project 正常运行的第三方jar包没有被打进来。 这个打成的jar包是不能直接运行的。

      现在实施时,比较常用的解决方案是 依靠第三方的打包插件来实现打包。比较好的开源插件为
fatjar 
      下载地址 http://sourceforge.net/projects/fjep/files

      在eclipse中安装好这个插件后,就可以直接用这个插件进行打包,生成 jar文件。

命令中运行这个jar文件。如果想执行jar文件,可以使用java命令的-jar选项。例如,你有一个可以运行的myjar.jar文件。因为该文件是可以执行的,所以你可以用如下命令执行之:java
-jar myjar.jar 就可以看到执行效果。

3 java project 的下一站windows服务

把java project
打成可以执行的jar后,并没有结束。 我们不能要求客户关机再开机的时候 让他们去进行 java -jar java -jar myjar.jar
的命令操作  或 双击可执行jar包的方式来 启动独立运行的java project 程序,我们应该把这个程序的启动做到客户透明化。
可以做的就是开机,开机后,一切业务程序就可以自动运行。

4 一个windows的服务的解决方案

比较多的解决方案是 使用 wrapper-windows
这个软件包。这个软件包的强大之处是能把jre环境也给打进去,这个服务可以正常运行在根本没有jre环境即就没有安装JDK的机器上。

    当然我也是比较喜欢 不把jre环境打到服务里的方式,服务程序的运行依靠本机上安装的的jre环境。

        1 
下载wrapper-windows-x86-32-3.2.3版本,并解压。里面包含 bin conf doc jdoc lib logs src
7个文件夹。
        2  新建一个文件夹  如 命名为
myWindowServ,在此文件夹下建立 lib bin conf logs application 5个子文件夹。

        3 将 wrapper-windows\src\bin 下的

                   
App.bat.in
          
         InstallApp-NT.bat.in

            
       PauseApp-NT.bat.in

                   
ResumeApp-NT.bat.in

                  
StartApp-NT.bat.in

                  
StopApp-NT.bat.in

                  
UninstallApp-NT.bat.in
         
复制到bin目录下,并将后缀为.in的文件全部重命名,去掉.in。例如: App.bat.in重命名为App.bat,

         
并将wrapper-windows\bin下的wrapper.exe也复制到bin目录下。

       4 将 wrapper-windows\conf
下的文件复制到myWindowServ\conf目录下。
       5 将
wrapper-windows\log  下的文件复制到myWindowServ\logs目录下。

       6 将 wrapper-windows\lib  
下的文件复制到myWindowServ\lib目录下。
       7
将需要安装成服务的java程序打包成jar文件(例如 上面的打包文件 myjar.jar)放到myWindowServ\application下。

       8
配置新文件夹conf目录下的wrapper.conf文件,可以配置运行环境,执行程序,堆内存大小,服务名称等属性信息。

              这里仅仅列出需要修改和需要注意的地方
    
              8.1
找到wrapper.java.command=java

                          
如果本机已配置了jre,那么此项不需更改;否则的话,需要将jre复制到myWindowServ文件夹路径下

                       
(如和bin在 同一级,修改wrapper.java.command=../jre/bin/java.exe)

              
    8.2 指定wrapper的启动方式,用wrapper代理启动不容易出现问题,不然
老报test.Main不存在的异常。
             
            
wrapper.java.mainclass=org.tanukisoftware.wrapper.test.Main

                          
修改成

                          
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp

                 
8.3  将程序运行需要的jar包都列出来 lib文件夹中的wrapper.jar是必需的

                         
wrapper.java.classpath.1=../lib/wrapper.jar

                         
wrapper.java.classpath.2=../application/myjar.jar

                 
8.4 配置程序运行的所需要的内存大小
            
              # Initial Java Heap Size
(in MB)

                          
#wrapper.java.initmemory=3
          
                # Maximum Java Heap
Size (in MB)

                          
#wrapper.java.maxmemory=64
            
             修改成
    
                     #
Initial Java Heap Size (in MB)

                            
wrapper.java.initmemory=128
          
               # Maximum Java Heap Size
(in MB)

                            
wrapper.java.maxmemory=256

                         
这里是限制服务所占用的最小和最大内存,根据程序运行的效果也可以不改。

               
  8.5 指定程序的主类

如 com.weiguo.mypro.TimerRun 是 myJar打包工程中main方法所在的类,

就需要如下配置:

                         
wrapper.app.parameter.1=com.weiguo.mypro.TimerRun

以下的一些设置 就是服务本身的属性设置,可以
设置---控制面板--管理工具--服务--随便选中一个服务--右键属性看到。

8.6 控制台运行时的名称
              
            wrapper.console.title=TestServer

                  8.7
指定服务的名称

                         
wrapper.ntservice.name=TestServer

                 
8.8  windows服务的显示名称

                         
wrapper.ntservice.displayname=TestServer

                 
8.9 服务描述

                         
wrapper.ntservice.description=TestServer描述

                 
8.10 启动模式,默认是自启动AUTO_START or DEMAND_START
        
               
wrapper.ntservice.starttype=AUTO_START
       
9  运行InstallApp-NT.bat安装服务,运行StartApp-NT.bat启动服务。

       10 可以暂停,重启服务 停止服务 PauseApp-NT.bat
ResumeApp-NT.bat StopApp-NT.bat
       11
如果要卸载这个服务的话,运行UninstallApp-NT.bat卸载服务。

另外一个解释

Java Service
Wrapper功能很强大,同时支持Windows及Un*x平台,提供三种方式把你的Java程序包装成系统服务,这里只介绍最简单的一种方式,因这种
方式无需对已有的服务程序作任何改变,仅仅增加几个script、配置文件就可以把你的Java服务程序改造成系统服务程序了。

当然在使用之前需要到 http://wrapper.tanukisoftware.com/doc/english/download.jsp下载
Service Wrapper的发布包。

下面简单介绍一下具体的使用步骤:
1.  将下载的Java Service
Wrapper包解压到本地,目录为{WRAPPER_HOME};

2.  服务应用程序名为MyServApp,在目录d:\MyServApp下建立bin、conf、logs、lib目录;并把你的已有应用程序如NioBlockingServer.class拷贝到该目录下;

3.  将{WRAPPER_HOME}\src\bin\下的遗以下文件拷贝到MyServApp目录下,并重命名。
 C:\
MyServApp\bin\Wrapper.exeà{WRAPPER_HOME}\bin\Wrapper.exe 

  C:\MyServApp\bin\MyApp.batà{WRAPPER_HOME}\src\bin\App.bat.in

  C:\MyServApp\bin\InstallMyApp-NT.batà{WRAPPER_HOME}\src\bin\InstallApp-NT.bat.in

  C:\MyServApp\bin\UninstallMyApp-NT.batà{WRAPPER_HOME}\src\bin\UninstallApp-NT.bat.in

4.  将{WRAPPER_HOME}\lib下的以下文件拷贝到C:\ MyServApp \lib目录下

{WRAPPER_HOME}\lib\Wrapper.DLL
{WRAPPER_HOME}\lib\wrapper.jar

5.  将{WRAPPER_HOME}\src\conf\wrapper.conf.in拷贝到C:\ MyServApp
\conf目录下并命名为wrapper.conf;并修改wrapper.conf文件,在其中配置您的应用服务。
主要修改以下几项即可:

#你的JVM位置:
wrapper.java.command=D:\Sun\j2sdk1.4.0_03\bin\java 

#运行参数:如:
wrapper.java.additional.1=-Dprogram.name=run.bat
#classpath:

wrapper.java.classpath.1=../lib/wrapper.jar

wrapper.java.classpath.2=../bin/.
# Java Library Path (location of
Wrapper.DLL orlibwrapper.so)
wrapper.java.library.path.1=../lib
#MAIN
CLASS 此处决定了使用Java Service Wrapper的方式

wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp

#你的Java应用类
wrapper.app.parameter.1= NonBlockingServer
# 服务名

wrapper.ntservice.name=NB

# Display name of the service

wrapper.ntservice.displayname=Nio NonblockingServer
# 服务描述

wrapper.ntservice.description=Nio NonblockingServer
其他的配置根据你的需要改变即可

6.  对以上配置的MyApp.bat进行测试,运行MyApp.bat,就像在Console窗口下运行Tomcat一样;

7.  对以上配置的服务进行测试,运行C:\MyServApp\bin\InstallMyApp-NT.bat将把你的应用(此处为NioBlockingServer)安装到Win32系统服务中了。

8.  打开控制面板-管理程序-服务,看到Nio Nonblocking
Server已经在系统服务中了,其他用法就与我们熟悉的Windows服务一样了。

Tomcat使用的是Java Service
Wrapper模式二,这种方式需要对已有的程序进行小的改动,但可以通过Socket端口的方式控制服务程序核心的启动,更加灵活。Java Service
Wrapper提供的模式三比较复杂,需要作出更多的编码,我没有研究。

采用模式一,即可简单有效的把我们的服务程序包装成为系统服务程序,并增强了日志功能,我们可以把MyServApp的几个文件做成模板,每次修改文件名,配置文件就可以了,有精力的朋友更可以做成Eclipse的plugin,鼠标点点就把应用配成服务了。



追问:

刚才我也下了个wrapper-windows-x86-32-3.2.3.zip  说下具体用法行吗?

InstallTestWrapper-NT.bat执行这个可以成功安装,

UninstallTestWrapper-NT.bat执行这个可以成功卸载。

但是怎么把Test Wrapper Sample Application服务换成我写的java程序呢?

求具体方法。。。。求指教!




回答:

并把你的已有应用程序如NioBlockingServer.class拷贝到该目录下



追问:

wrapper.exe <command> <configuration file> [configuration
properties] [...]
wrapper.exe <configuration file> [configuration
properties] [...]
   (<command> implicitly ‘-c‘)

wrapper.exe <command>
   (<configuration file>
implicitly ‘wrapper.conf‘)
wrapper.exe
   (<command>
implicitly ‘-c‘ and <configuration file> ‘wrapper.conf‘)

这个命令有什么用?




追问:

装完的服务,可执行文件的路径是这个

C:\WRAPPER_HOME\bin\wrapper.exe -s C:\WRAPPER_HOME\conf\wrapper.conf

比如我想改成c:\123.exe

要怎么改呢!




回答:

1.   准备工具

首先下载Java Service Wrapper

2.   准备代码

要使用Java Service
Wrapper,自己原有的程序必须进行一次改造或者添加一个包装类。这里使用一个最简单的HelloWorld类作为示例。

package com.yjw;

import javax.swing.JFrame;

import javax.swing.JLabel;

import org.tanukisoftware.wrapper.WrapperListener;

import org.tanukisoftware.wrapper.WrapperManager;

// 实现WrapperListener接口

public class HelloWorld implements  
WrapperListener{

private static void createAndShowGUI()
{

JFrame.setDefaultLookAndFeelDecorated(true);

JFrame frame
new JFrame("HelloWorldSwing");

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JLabel label
new JLabel("Hello World");

frame.getContentPane().add(label);

frame.setSize(150, 100);

frame.setVisible(true);

}

public static void main(String[]
args) {

javax.swing.SwingUtilities.invokeLater(new Runnable()
{

public void run()
{

createAndShowGUI();

}

});

//这里,启动HelloWold

WrapperManager.start(   new  
HelloWorld(),   args   );

}

//需要一个start方法

public Integer
start(String[] args) {

System.out.println("start()");

try {

System.out.println("HelloWorld!");

catch (Exception e) {

}

return null;

}

//需要一个stop方法

public int stop(int exitCode)
{

System.out.println("stop(" + exitCode + ")");

return exitCode;

}

//需要一个controlEvent方法

public void controlEvent(int event)
{

System.out.println("controlEvent(" + event + ")");

}

}

这里,直接把入口类进行了代码改造,用户也可以单独写一个包装类,把上面带注释的四个地方的代码提取出来,对自己原来的入口类进行包装。

注意:如果没有对入口类进行java wrapper
service需要的代码改造,则在做成服务后,表现为JVM试图不停地启动服务,查看wrapper.log,会发现类似如下的报错:

INFO       |   wrapper     |  
2010/04/16   21:24:58   |   Waiting   to   start...
  
  INFO       |   wrapper  
  |   2010/04/16   21:25:03   |   Waiting   to
  start...   
  INFO       |  
wrapper     |   2010/04/16   21:25:08   |  
Waiting   to   start...   
  ERROR     |
  wrapper     |   2010/04/16   21:25:29   |
  Startup   failed:   Timed   out   waiting  
for   a   signal   from   the   JVM.   

 
------------------------------------------------------------------------
  
  ADVICE   |   wrapper     |  
2010/04/16   21:25:29   |     
  ERROR  
  |   wrapper     |   2010/04/16   21:25:29
  |   JVM   did   not   exit   on  
request,   terminated   
  FATAL     |  
wrapper     |   2010/04/16   21:25:29   |  
There   were   5   failed   launches   in   a
  row,   each   lasting   less   than   300
  seconds.     Giving   up.   
  FATAL
    |   wrapper     |   2010/04/16  
21:25:29   |       There   may   be   a
  configuration   problem:   please   check   the
  logs.   
  STATUS   |   wrapper  
  |   2010/04/16   21:25:29   |   <--  
Wrapper   Stopped

将HelloWorld.java打成HelloWorld.jar。

3.   实现服务

1)           准备工作区

准备一个工作文件夹,例如test,在test下新建conf,log,lib三个文件夹

2)           将下载下来的java
wrapper service解压缩

a) 将Java Service Wrapper包中bin下的wrapper.exe拷贝至test下

b) 将Java Service
Wrapper包中src/bin下的App.bat.in(测试运行),InstallApp-NT.bat.in(安装windows服
务),UninstallApp-NT.bat.in(卸载windows服务)拷贝至test下,并且将后缀.in去掉

c) 修改App.bat,InstallApp-NT.bat,UninstallApp-NT.bat中的set
_WRAPPER_CONF="%_REALPATH%conf\wrapper.conf"

d) 将conf文件夹下的wrapper.conf拷贝至test/conf下

e) 将Java Service Wrapper包中lib下的Wrapper.DLL,wrapper.jar拷贝至test/lib下

3)           准备可用jar包

HelloWorld.jar此时还不能直接使用,需要进行改造

a) 将HelloWorld.jar解压缩,提取META-INF/MANIFEST.MF文件

b) 打开MANIFEST.MF,在Class-Path中追加wrapper.jar wrapper.dll

c) 将HelloWorld.jar和改造过的MANIFEST.MF一起拷贝到%JAVA_HOME%/bin下

d) 打开cmd窗口,将路径切换至%JAVA_HOME%/bin

e) 输入命令jar umf MANIFEST.MF
HelloWorld.jar,此时HelloWorld.jar中的MANIFEST.MF已被更新为当前的MANIFEST.MF

f)   将更新后的HelloWorld.jar拷贝至test/lib下

4)           配置wrapper.conf

打开test/conf/wrapper.conf

#程序的入口

wrapper.java.mainclass=com.yjw.HelloWorld

#程序jar,包括wrapper.jar

wrapper.java.classpath.1=lib/HelloWorld.jar

wrapper.java.classpath.2=lib/wrapper.jar

#程序的文件夹,这里为lib

wrapper.java.library.path.1=lib

#注意:有的教程注释为程序的入口,虽然能够正常运行,但是这是概念性错误!

#这个参数指传给主程序的参数入口,比如笔者有个程序,传值0表示为英文版,1为中文版,参数就在这里配置。如果有多个参数,请自行配置

#为wrapper.app.parameter.n=XXX

wrapper.app.parameter.1=1

#日志文件生成的位置

wrapper.logfile=log/wrapper.log

#windows服务所需的标题,名称,显示名和描述
wrapper.console.title=HelloWorld

wrapper.ntservice.name= HelloWorld
wrapper.ntservice.displayname=
HelloWorld 
wrapper.ntservice.description= HelloWorld

5)           运行App.bat,如果没有错误出现,说明配置正常,就可以运行InstallApp-NT.bat将你的程序做成Windows服务了。所有信息都可以在log/wrapper.log日志文件里找到

6)           如果要打开调试信息,在test/conf/wrapper.conf中将wrapper.debug=TRUE前面的#号去掉即可打开调试功能




追问:

装完的服务,可执行文件的路径是这个

C:\WRAPPER_HOME\bin\wrapper.exe -s C:\WRAPPER_HOME\conf\wrapper.conf

比如我想改成c:\123.jar

要怎么改呢




回答:

#程序的入口

wrapper.java.mainclass=执行的类名

#程序jar,包括wrapper.jar

wrapper.java.classpath.1=C:/123.jar




追问:

wrapper.java.classpath.1=C:/123.jar服务安装了。。。不能启动

一直显示wrapper  | Waiting to start...

最后就关闭了!




回答:

程序需要改写,实现WrapperListener接口



追问:

能简单给个例子么 比如开机显示hello world  对接口不这么熟悉  谢谢了




回答:

上面不是给了吗



追问:

.....上面给的不对。。。。。运行不了。。。。不能启动服务



回答:

上面只是例子,你的类要implements   WrapperListener,然后public Integer
start(String[] args) {

实现start,stop,controlEvent这三个方法。




追问:

没弄过这个。。。。能给个具体的代码不。。。整段的




回答:

import java.io.*;

importorg.tanukisoftware.wrapper.WrapperListener;

importorg.tanukisoftware.wrapper.WrapperManager;

public class Server1 implementsWrapperListener

{

publicstatic void main(String[] args)

{

System.out.println(   "Initializing... "   );

WrapperManager.start(newServer1(),args);

}

//实现start方法

public Integer start(String[] args) {

System.out.println("start()");

try {

System.out.println("Hello,World!");

} catch (Exception e) {

}

return null;

}

//实现stop方法

public int stop(int exitCode) {

System.out.println("stop(" + exitCode +
")");

return exitCode;

}

//实现controlEvent方法

public void controlEvent(int event) {

System.out.println("controlEvent(" +
event + ")");

}

}




追问:

Server1.java:2: 软件包 org.tanukisoftware.wrapper 不存在
import
org.tanukisoftware.wrapper.WrapperListener;

。。。这玩意在哪。。。。




回答:

在wrapper.jar文件里呀,把它放到classpath里。或者用-cp指定,如:javac
-cp wrapper Server.java



追问:

整体。。。。全套     完全 点。。。。行不




回答:

这些都是java基础的吧。

编译成class后最后就剩打包成jar了,

写一个manifest.mf文件,里面就两行:Main-Class: test.Test <回车> ,也就是第二行是空行。

运行jar  cvfm Server1.jar manifest.mf Server1

生成jar文件就好了




追问:

........问的不是这个。。。。javac -cp wrapper
Server.java 这个不懂



回答:

cp的就是classpath的缩写。

importorg.tanukisoftware.wrapper.WrapperListener;

importorg.tanukisoftware.wrapper.WrapperManager;

这2个都是Java Service Wrap提供的类,编译的时候,必须在classpath里.

或者把wrapper.jar放在环境变量里的话,或者用javac的时候用cp参数临时指定到哪里找wrapper.jar。比如

javac -cp d:\wrapper.jar Server.java

转自:http://blog.csdn.net/kevinlifeng/article/details/9423969

java打包成window service服务[转],布布扣,bubuko.com

时间: 2024-10-28 11:13:58

java打包成window service服务[转]的相关文章

注册Tomcat到Window Service服务

注册Tomcat到Window Service服务 1.软件和环境 环境:JDK1.8 应用服务:Tomcat9.0(非安装版) 操作系统:Windows 2012 2.设置Tomcat为系统服务 win+R打开运行窗口,输入cmd打开dos窗口,使用cd命令将位置切换到tomcat路径下的bin文件. cd C:\apache-tomcat-9.0.8\bin.输入service命令可以查看service.bat文件的使用说明, C:\apache-tomcat-9.0.8\bin>servi

[Java] Java 打包成jar包 和 解压jar包

解压jar包 jar xf xxx.jar 打包成jar包 方法一:通过jar命令 jar命令的用法: 下面是jar命令的帮助说明: 用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ... 选项包括:     -c  创建新的归档文件     -t  列出归档目录     -x  解压缩已归档的指定(或所有)文件     -u  更新现有的归档文件     -v  在标准输出中生成详细输

如何注册Tomcat到Window Service服务

对于Web项目来说,经常用的服务器就是Tomcat.但是麻烦的事是,每次都得启动一下Tomcat服务.但是,如果把Tomcat的服务注册为Windows Service服务,就可以设置为开机自动启动,这样就不用每次手动启动了. 1.软件和环境 环境:JDK1.8 应用服务:Tomcat7.0(非安装版) 操作系统:Windows8 2.设置Tomcat为系统服务 win+R打开运行窗口,输入cmd打开dos窗口,使用cd命令将位置切换到tomcat路径下的bin文件,本机是F盘下. 先输入F:回

java打包成exe和可移植

问题与思路 大家也许会遇到这样的情况,自己辛辛苦苦的写的java程序,却在别人的电脑上无法运行,这里面可能有这么几个原因: 自己的程序依赖外部jar包 自己程序打成jar包以后,无法显示图片 对方电脑没有java环境 可是java不是具有很好的可移植性吗?有没有办法做一个可以到处执行的java程序呢?网上有各种各样的方法,但是都比较笼统,或者不能实用于一些情况,这里以一个我自己的实践经历作为例子,供大家参考. 核心思路如下: 将自己的程序打成jar包 将jar包转成exe文件,同时建立jar包依

java打包成可执行的jar或者exe的详细步骤

Java程序完成以后,对于Windows操作系统,习惯总是想双击某个exe文件就可以直接运行程序,现我将一步一步的实现该过程.最终结果是:不用安装JRE环境,不用安装数据库,直接双击一个exe文件,就可以运行程序 下面介绍过程: 第一步:完成Java GUI程序在Eclipse下,程序能够正常运行. 第二步:准备清单文件(MANIFEST.MF) 方法1:直接拷贝其它能运行的JAR文件中的MANIFEST.MF进行修改方法2:利用IDE工具,如Eclipse在生成JAR文件时自动生成MANIFE

java类打包成jar文件&amp;&amp;jar包的引入

一.将类打包成jar文件 首先分别看下MainActivity.java和func.java的源代码 现在要将func.java打包成jar包,方法如下: a.右击func.java ->Export ->Java ->JAR file b.在Select the resources to export中选择要打包的类,这里注意,如果这个类有调用其他动态/静态库,不需要一起选择,只选择java文件.库文件随着jar一起放到新工程目录下即可引用.然后输入JAE名称和存放位置,点finish

将java打jar包成linux后台服务service

将java打jar包成linux后台服务service 第一步:将java程序打成jar包 build.gradle配置文件中加spring-boot-gradle-plugin插件,具体配置如下(配置完成后刷新gradle项目) plugins {   id 'org.springframework.boot' version '1.5.4.RELEASE' } springBoot {   executable = true } 打包,在build.gradle所在的目录下,运行如下命令 g

使用java service wrapper将java程序注册为windows服务

转载自 http://blog.csdn.net/coolcoffee168/article/details/9980009 1. 下载java service wrapper 网址:http://sourceforge.net/projects/wrapper/ 或者 http://wrapper.tanukisoftware.com/doc/english/download.jsp 我下载的版本是wrapper-windows-x86-32-3.5.20.zip. 2. 配置过程 1)首先确

利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包

原文:利用Advanced Installer将asp.netMVC连同IIS服务和mysql数据库一块打包成exe安装包 因为业务需要,项目中需要把asp.netmvc项目打包成exe安装程序给客户,让客户直接可以点下一步下一步安装部署web程序,并且同时要将IIS服务和mysql一同安装到服务器上,因为客户的电脑可能是64位也可能是32位,所以在打包的时候就需要打包成两份安装包.研究了几天终于有所收获,下边就是打包的步骤. 打包步骤: 一.前期准备 1.将asp.netmvc发布到本地目录中