maven将web项目生成jar包

首先说一下我的应用场景

  • 由于项目需求,我们需要写一个本地的webservice,所以我就选择了jettey搭配jersey来进行开发。
  • 选用jettey内嵌式启动的方法,在main()函数中进行服务器的启动。
  • 将项目达成jar包,通过java -jar 命令直接启动webservice,注意要指定jar包的执行入口函数
我们只需要在maven的pom.xml文件中加入maven-jar的插件
 <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.4</version>
        <configuration>
          <forceCreation>true</forceCreation>
          <archive>
            <manifest>
              <mainClass>com.gmobile.JettyServer</mainClass>
              <addClasspath>true</addClasspath>
              <classpathPrefix>lib/</classpathPrefix>
            </manifest>
          </archive>
        </configuration>
      </plugin>

其中<mainClass>com.gmobile.JettyServer</mainClass>指定jar包执行的main函数,然后直接在项目目录下执行 maven clean package即可将项目达成jar包。由于我的jar包是一个webservice,打包好之后执行java -jar命令

1490158321(1).png

在浏览器输入我的web访问路径:http://localhost:8080/hello
即可成功显示

1490158079(1).png

#######以下是我的jar包的main函数:

public class JettyServer {

    private void start() throws Exception {
        int port = 8080;
        Server server = new Server(port);
        ServletContextHandler context = new ServletContextHandler(
                ServletContextHandler.SESSIONS);
        context.setContextPath("/");
        server.setHandler(context);
        ServletHolder sh = new ServletHolder(ServletContainer.class);
        sh.setInitParameter(
                "com.sun.jersey.config.property.resourceConfigClass",
                "com.sun.jersey.api.core.PackagesResourceConfig");
        sh.setInitParameter("com.sun.jersey.config.property.packages",
                "com.gmobile.api");
        context.addServlet(sh, "/*");
        server.start();
    }

    public void stop() throws Exception {

    }

    public static void main(String[] args) throws Exception {
        JettyServer server = new JettyServer();
        server.start();
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,828评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,118评论 6 342
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,953评论 25 709
  • 出来玩,看到地上小石头和开的荠菜花便蹲下捡起来给我。 牵着她的手过红绿灯,或许是走的急了,快过去时突然挣脱我的手...
    大胖妞的妈阅读 1,400评论 0 0
  • 6月21日上午9点,深圳市快播科技有限公司诉深圳市市场监督管理局有关2.6亿罚款一案,在广东省高级人民法院官方网站...
    社群经理2阅读 2,885评论 0 0

友情链接更多精彩内容