0

事实证明,让 php 在我的 glassfish 应用程序中运行非常容易。我已经从这里下载了 Quercus 4.0.18:http ://caucho.com/download/quercus-4.0.18.war ,解压了 war 文件并将 4 个 jar 文件从 WEB-INF/lib 复制到我的 glassfish/域/domain1/lib 目录。

通过在 web.xml 中添加几行,我已经能够提供一个 hello world php 文件:

<servlet>
        <servlet-name>Quercus Servlet</servlet-name>
        <servlet-class>com.caucho.quercus.servlet.QuercusServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Quercus Servlet</servlet-name>
        <url-pattern>*.php</url-pattern>
</servlet-mapping>

我的问题是我需要向 pom.xml 添加什么才能将所需的依赖项添加到我的 maven 项目中并避免弄乱解压 war 文件等...?我已经很久没有使用 maven 了,而且除了最简单的配置之外,我通常对其他任何东西都感到难以置信,所以答案越简单对我来说越好。

谢谢。

4

2 回答 2

1

您的 Maven 项目表达对您手动复制到WEB-INF/lib. 假设您复制的 4 个 JAR 是

  • quercus-A-4.18.jar
  • quercus-B-4.18.jar
  • quercus-C-4.18.jar
  • quercus-D-4.18.jar

然后,在 POM 的依赖项部分中,您将添加对这些 JAR 的依赖项。就像是:

<dependency>
  <groupId>com.caucho.quercus</groupId>    <-- Confirm the correct value
  <artitfactId>quercus-A<artifactId>       <-- Replace with artifacts A - D.
  <version>4.18</version>
</dependency>

您需要做的是找到一个托管这 4 个 JAR 的 Maven 存储库(可能在 Caucho)。如果此存储库尚未在您的 POM(或您的settings.xml)中,您将添加它:(来自docs

<repositories>
  <repository>
    <id>Quercus</id>
    <name>Quercus Maven repository</name>
    <url>http://url.to.top.level.of.this.repository</url>
    <layout>default</layout>
  </repository>
</repositories>

另一方面,说公共存储库不可用。然后 - 作为最后的手段 - 您可以将这 4 个 JAR 放在您的本地存储库(您的主目录)中。如果您是唯一的开发人员,这是一种解决方法。如果您正在与一个也需要这些 JAR 的团队合作,或者您有一个将要进行构建的持续集成服务器,您将希望在共享(联网)位置托管一个存储库。

当然,如果您采用托管这些 JAR 的方式,您有责任使它们保持最新状态。

于 2011-12-28T19:37:46.310 回答
0

Caucho 有自己的 Maven 存储库。他们在他们的Wiki上解释了如何使用它。

对于发行版,只需将其添加到您的pom.xml.

<repositories>
    <repository>
        <id>caucho</id>
        <name>caucho public repo</name>
        <url>http://caucho.com/m2/</url>
    </repository>
</repositories>
于 2014-09-02T15:17:49.973 回答