美文网首页
GlassFish 配置/部署

GlassFish 配置/部署

作者: Thresh0ld | 来源:发表于2016-10-09 09:52 被阅读6186次

    本文仅供本人在学习使用GlassFish中的学习笔记,如有错误,欢迎指正!

    一. 下载GlassFish

    http://download.java.net/glassfish/

    截止我写这篇文章时(20161009),GlassFish 4.1.1在处理Json会报空指针错误。
    这个原因已被官方发现,将在下一版纠正。详情可以去Github上搜索。
    所以建议各位在学习使用GlassFish时使用4.1.0版本,甚至是4.0.0版本。

    建议下载图中的文件。点我下载

    Download.png

    二. 配置Domain

    1. 新增Domain

    domain.png

    默认GlassFish只有domain1,domain2是我复制了一份domain1,然后更改文件夹名称为domain2的。

    只复制domain1文件夹是不行的,还需要更改domain配置。

    domain_config.png

    用文本编辑器打开这个文件。
    查找domain1,更改为domain2即可。主要更改以下两个位置。

    Paste_Image.png Paste_Image.png

    如果还想更改默认端口号,那就查找8080,更改你想要的端口,比如80

    Paste_Image.png

    改完配置后保存文件即可。

    另一种办法是进WEB页面进行配置。http://localhost:4848/ (默认管理端口4848)

    Paste_Image.png

    2. 启动GlassFish

    • 进入GlassFish目录


      Paste_Image.png
    • 启动domain


      Paste_Image.png
    • 关闭domain


      Paste_Image.png

    三. 部署WebApplication

    1. Web部署

    1. 打开管理页面
      http://localhost:4848/
    2. 选择部署应用
    Paste_Image.png
    1. 上传应用
    Paste_Image.png Paste_Image.png Paste_Image.png

    点击OK就完成部署了。

    Paste_Image.png
    1. 测试应用
      点击上图中的Launch来启动应用
    Paste_Image.png

    然后就可以访问网址来测试了。例如:
    http://think-threshold:8080/RestfulDemo_war_exploded/hello

    2. 自动部署(AutoDeploy)

    简单到不能再简单,将项目中生成的artifacts目录下的文件夹拷贝到domains/domain2/autodeploy即可

    Paste_Image.png

    3. 更新部署

    1. Web更新部署


      Paste_Image.png

      同第一次部署,类似,不再赘述。

    2. 自动更新部署
      还是将项目生成的artifacts目录下的文件夹拷贝到domains/domain2/autodeploy。
      然后删除 autodeploy.autodeploystatus 下和你项目 artifacts 名称相同的文件。
      稍后GlassFish会自动重新部署这个应用。简单吧。

    Paste_Image.png Paste_Image.png

    三. 自定义地址

    在web\WEB-INF文件夹下新建 glassfish-web.xml文件。

    Paste_Image.png

    在里面填写内容:

    <!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTDGlassFish Application Server 3.1 Servlet 3.0//EN"        "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
    <glassfish-web-app>    
    <context-root>/restdemo</context-root>
    </glassfish-web-app>
    

    以后访问地址就变为:http://127.0.0.1:8080/restdemo/hello
    不受artifacts名称的影响了。

    四.报错排查

    1. WELD-001414

    org.jboss.weld.exceptions.DeploymentException: 
    WELD-001414 Bean name is ambiguous. 
    Name JerseyClassAnalyzer resolves to beans:
     [Managed Bean [class org.glassfish.jersey.internal.inject.JerseyClassAnalyzer] with qualifiers [@Default @Named @Any], 
    Managed Bean [class org.glassfish.jersey.internal.inject.JerseyClassAnalyzer] with qualifiers [@Default @Named @Any]]
    

    看到这个错误,我是一脸懵逼啊。怎搞的,按照新建向导一步一步创建的项目啊,连Hello World也跑不起来。。。
    嗯,回想一下,创建向导。。问题就出现在创建项目的引导页上。

    Paste_Image.png

    按照上图设置,千万不要选Download,否则呵呵不断的报上面懵逼的错误代码。。。。。
    (白白浪费了我一个下午,就为了一个Hello World啊)。


    关注我的公众号.jpg

    相关文章

      网友评论

          本文标题:GlassFish 配置/部署

          本文链接:https://www.haomeiwen.com/subject/agepyttx.html