【问题标题】:Create JAR file from Jersey application从 Jersey 应用程序创建 JAR 文件
【发布时间】:2013-03-13 10:20:54
【问题描述】:

我使用 Jersey 开发了一个应用程序。我写了一些函数来响应正确的http请求。在我使用 Eclipse 之前一切都很顺利,因为我使用这个类来“创建”本地服务器

String baseUrl = "http://" + InetAddress.getLocalHost().getHostAddress() + ":8032/"; 
HttpServer server = HttpServerFactory.create(baseUrl);
server.start();

现在我想创建一个 JAR 文件以将其上传到外部服务器上,但是当我运行 JAR 文件(也在本地)时,它不起作用。我认为,当我双击我的 JAR 文件时,服务器会启动(至少在本地),因为上面的代码已包含在内,它将启动我们所需要的一切。

我哪里错了?

【问题讨论】:

    标签: java apache glassfish jersey


    【解决方案1】:

    如果它是 glassfish 服务器应用程序,则不应双击 jar。

    它们应该进入 glassfish 的 /lib 文件夹,启动服务器,您的代码应该像在 Eclipse 中一样部署。

    【讨论】:

    • 所以我必须将我的 JAR 文件放入 (mac OSX) gslassfish/lib 中?因为这个文件夹里面有很多文件。我的应用是用 Java 编写的,它不是一个网络项目
    • 是的,这个文件夹是你的 jar 应该被部署的地方。你是如何从eclipse运行它的?你用的是蚂蚁还是maven?如果它不是一个 Web 项目,您是否有一个现有的 Web 项目正在调用此代码?如果不是,为什么要在应用服务器上运行?
    • 当我在 Eclipse 上运行应用程序时,我只是运行包含上述代码的类。我正在使用简单的 Jersey 库(在此处下载表格)。我没有网络项目,因为如果我想测试 http 响应,我只需将正确的 URL(使用 locahost:ports)写入网络浏览器
    • 当你说你“运行包含代码的类”时——它是一个有 main 方法的类吗?当你在本地运行它时,你是否编辑了一个 web.xml 文件,所以当你去 localhost:port/application 映射到你想要的项目时?
    • 是的,代码是用 main 方法编写的,但我什么都没有编辑。我需要能够发送 http 请求就是在服务器运行后在网络浏览器上编写正确的 URL。我的项目中没有 XML 文件。它工作正常,非常棒,我希望在我运行 JAR 文件时发生这种情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-23
    • 2013-05-30
    • 2015-04-10
    • 2022-01-05
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多